如何通过http协议流式传输ffmpeg

时间:2014-06-03 14:33:36

标签: http ffmpeg flowplayer

我正在做一个应该在Flowplayer中正确显示的流。 首先,我通过RTP将其发送到另一台PC。在这里,我还检查了VLC,编解码器等正确到达,他们这样做。

现在我想将此流作为文件公开给Flowplayer,因此可以通过我在VLC中使用的内容显示它: http://localhost:8080/test.mp4 例如。

我得到的全线是:ffmpeg -i input -f mp4 http://localhost:8080/test.mp4

但是,无论我如何尝试这样做,我只会收到输入/输出错误。这只能用ffserver或其他东西吗?

我认为这不起作用,因为ffmpeg不能充当服务器;在VLC上,它可以工作。 (虽然VLC破坏了我设置的编解码器,但之后由于某种原因无法读取)

我可以使用的一种(某种)解决方法是将RTP流保存​​到文件,然后让flowplayer加载它。但是,只有在不再访问文件时才能使用它;否则我会收到编解码器错误。

1 个答案:

答案 0 :(得分:0)

您需要此命令行

ffmpeg -f v4l2 -s 320x240 -r 25 -i /dev/video0 -f alsa -ac 1 -i hw:0 http://localhost:8090/feed1.ffm

确保您的Feed名称以&#34; .ffm&#34;结尾如果不是这样,那么添加&#34; -f ffm&#34;在您的Feed网址之前,要手动指定输出格式(因为ffmpeg不能再自动识别出来了),就像这样&#34; -f ffm http://localhost:8090/blah.bleh&#34;。< / p>