我想在RTMP传输过程中直接从Flash插件访问视频片段并将其保存到磁盘。我想知道是一个理智的想法,是否有可能建立一个可靠的解决方案?
我知道我可以读取原始记忆的过程,但我不是在寻找"一个价值"但整个传输。我可以想象,一旦从RTMP消息中读取FLV帧并在屏幕上显示,插件就可以释放或覆盖它,并且不会有任何东西要阅读(如果我不够快)。我还假设视频的每个块都可能存储在随机地址下,这使得它更难/不可能做到?
什么是最好的Linux工具?"调查内存"并试图调查这个问题?
答案 0 :(得分:0)
即使您访问进程的内存,也无法从该内存中提取rtmp流。这是因为您不知道变量或Flash播放器内部使用哪个内存部分以及rtmp流使用哪个区域。另外我不希望rtmp完全在内存中,但一次只是一大块。
替代:
如果您有视频的网址,则可以使用rtmpdump
。如果您还没有,则可以使用wireshark
之类的数据包嗅探器获取网址。
你在评论中告诉你,你已经尝试过,并且遇到了这样的问题。但是,我担心除了模拟Flash播放器行为的rtmp客户端的手动实现之外,没有办法使用rtmpdump
。