我的问题:
我用rtmpdump捕获了一些flv视频,一个示例命令如下:
rtmpdump -v -r -p http://www.elahmad.com/tv/Webtv/Arabian.htm -B 15 -o foo.flv
我意识到,不仅是这个命令的捕获,而且rtmpdump的所有捕获都无法显示当我在一个网站上使用flowplayer播放视频时的持续时间。这最终导致了流媒体的失败,我无法改变播放时间。
我做了:我试着在Linux中用Movie打开它,它的持续时间可以在里面看到。
我还把视频和flvtool2放在一起,它失败了: flvtool2 -U foo.flv
错误:未定义的局部变量或方法“级别”用于# ERROR: /usr/lib/ruby/1.8/flv/amf_string_buffer.rb:102:in read__AMF_object' ERROR: /usr/lib/ruby/1.8/flv/amf_string_buffer.rb:132:ineval‘ERROR: /usr/lib/ruby/1.8/flv/amf_string_buffer.rb:102:in read__AMF_object' ERROR: /usr/lib/ruby/1.8/flv/amf_string_buffer.rb:132:inread__AMF_data’ERROR: /usr/lib/ruby/1.8/flv/amf_string_buffer.rb:112:in read__AMF_array' ERROR: /usr/lib/ruby/1.8/flv/amf_string_buffer.rb:110:instep‘ERROR: /usr/lib/ruby/1.8/flv/amf_string_buffer.rb:110:in read__AMF_array' ERROR: /usr/lib/ruby/1.8/flv/amf_string_buffer.rb:136:inread__AMF_data‘ERROR:read__AMF_object' ERROR: /usr/lib/ruby/1.8/flv/amf_string_buffer.rb:132:inread__AMF_data’ERROR: /usr/lib/ruby/1.8/flv/meta_tag.rb:40:in after_initialize' ERROR: /usr/lib/ruby/1.8/flv/tag.rb:56:in初始化‘after_initialize' ERROR: /usr/lib/ruby/1.8/flv/tag.rb:56:in:/usr/lib/ruby/1.8/flv/Stre.rb:451:in new' ERROR: /usr/lib/ruby/1.8/flv/stream.rb:451:inread_tags’错误:/usr/lib/ruby/1.8/flv/微流.44:58:在initialize' ERROR: /usr/lib/ruby/1.8/flvtool2/base.rb:272:in中新的错误:/usr/lib/ruby/1.8/flvtool2/base.rb:272:272:open_stream' ERROR: /usr/lib/ruby/1.8/flvtool2/base.rb:238:inprocess_files:/usr/lib/ruby/1.8/flvtool2/bas.rb:225:each' ERROR: /usr/lib/ruby/1.8/flvtool2/base.rb:225:inprocess_files‘错误: /usr/lib/ruby/1.8/flvtool2/base.rb:44:in execute!' ERROR: /usr/lib/ruby/1.8/flvtool2.rb:168:in执行!错误: /usr/lib/ruby/1.8/flvtool2.rb:228错误: /usr/bin/flvtool2:2 :2:in‘需要量’错误:/usr/bin/flvtool2:2
甚至元数据似乎也是腐败的。我应该做些什么来修正这个持续时间?
谢谢。
编辑:
我把视频交给了ffmpeg,它恢复了原状:
-i foo.flv bar.flv
然而,这只是一个解决办法,我没有得到我真正的答案。
发布于 2014-03-21 16:46:20
如果在FFMPEG中包含了librtmpdump,则可以在ffmpeg中直接完成此功能。对于上面列出的特定文件。您可以简单地调用URL并将流传递给一个文件,而无需重新编码它。一个例子是:
rtmp://aljazeeraflashlivefs.fplive.net/aljazeeraflashlive-live/aljazeera_ara_high -i -vcodec复制-acodec副本/foo.flv
这是将其放入.flv容器中。如果您运行ffmpeg -i -i,您将看到该视频具有以下内容:
流#0:0:视频: h264 (主),yuv420p(电视),640 x360 SAR 1:1 DAR 16:9,819 kb/s,25 fps,25 tbr,1k tbn,50 tbc
流#0:1:音频: aac,48000 Hz,立体声,fltp,65 kb/s
所以这个文件是一个H 264/AAC流。
这应该为兼容的流提供适当的时间戳。
https://stackoverflow.com/questions/22562062
复制相似问题