linux - Linux下直接从Flash播放器内存访问FLV剪辑

标签 linux actionscript-3 linux-kernel

我想在 RTMP 传输期间直接从 flash 插件访问视频剪辑并将其保存到磁盘。我想知道这是一个明智的想法吗?是否有可能构建一个可靠的解决方案?

我知道我可以读取进程的原始内存,但我不是在寻找“值”,而是在寻找整个传输。我可以想象,一旦从 RTMP 消息中读取 FLV 帧并在屏幕上呈现,插件就可以释放或覆盖它,并且不会有任何内容可读取(如果我不够快)。我还假设视频的每个 block 可能存储在随机地址下,这使得它变得更加困难/不可能做到?

“查看内存”并尝试调查此问题的最佳 Linux 工具是什么?

最佳答案

即使您访问进程的内存,您也无法从该内存中提取 rtmp 流。这是因为您不知道变量或 Flash 播放器内部使用了内存的哪一部分以及 rtmp 流使用了哪一个区域。另外,我不希望 rtmp 完全存储在内存中,而一次只存储其中的一部分。

替代方案:

如果您有视频的网址,则可以使用 rtmpdump 。如果您还没有,您可以使用 wireshark 等数据包嗅探器获取 URL。

您在评论中表示您已经尝试过,但在这样做时遇到了问题。但是,我担心除了手动实现模拟 Flash 播放器行为的 rtmp 客户端之外,没有办法绕过 rtmpdump 的使用。

关于linux - Linux下直接从Flash播放器内存访问FLV剪辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23790005/

相关文章:

javascript - 如何使用actionscript在Photoshop中生成图形?

linux - Linux 中 PID_MAX 取决于什么因素

linux - 系统调用实现

linux - linux下与wifi接口(interface)绑定(bind)

使用 GDB 进行 Python 内存调试

linux - 在 arch linux 中安装 KDE 时没有选择默认选项

actionscript-3 - 2017 年 Adob​​e AIR (AS3) 的 Maps API

linux - Docker 按镜像名称和年龄过滤容器

flash - 在 AS3 中滚动 MovieClip 时的手形光标

linux - modprobe是否自动创建一个sys文件接口(interface)-/sys/module/?