我对流媒体世界有点新意......所以,如果我提出一些愚蠢的问题,请原谅我。
我正在尝试通过FFserver通过RTSP流式传输预先录制的文件。
我的配置文件是:
RTSPPort 8544
<Feed feed2.ffm>
File /home/xyz/tmp/feed2.ffm
FileMaxSize 200K
ACL allow 127.0.0.1
</Feed>
<Stream test.sdp>
Feed feed2.ffm
Format rtsp
VideoFrameRate 15
VideoSize 352x240
VideoBitRate 256
VideoBufferSize 40
VideoGopSize 30
AudioBitRate 64
StartSendOnKey
</Stream>
启动服务器后,它会给出以下日志:
$ ./ffserver -f doc/ffserver.conf
ffserver version 0.11.1 Copyright (c) 2000-2012 the FFmpeg developers
built on Sep 17 2012 19:46:38 with gcc 4.1.2 20080704 (Red Hat 4.1.2-52)
configuration: --enable-gpl --enable-libmp3lame --enable-libtheora --enable-libvo-aacenc
-enable-libvorbis --enable-libvpx --enable-libx264 --enable-version3
libavutil 51. 54.100 / 51. 54.100
libavcodec 54. 23.100 / 54. 23.100
libavformat 54. 6.100 / 54. 6.100
libavdevice 54. 0.100 / 54. 0.100
libavfilter 2. 77.100 / 2. 77.100
libswscale 2. 1.100 / 2. 1.100
libswresample 0. 15.100 / 0. 15.100
libpostproc 52. 0.100 / 52. 0.100
Wed Sep 19 17:03:32 2012 FFserver started.
现在从我的VLC客户端尝试输入URL:rtsp://xxx.xxx.xxx.xxx:8554 / test.sdp
但是,结果是,ffserver没有响应。
我不知道可能是什么问题。提前谢谢。
答案 0 :(得分:5)
您没有任何要传输的内容。 你需要开始
ffmpeg -i <source> http://localhost:8090/feed2.ffm
如果您为http启用端口8090, 使用指令(在配置文件中)
Port 8090
以前曾经问过,但标签很糟糕,所以我找不到它。 如果有人发现,请在此处链接。开始一个空的服务器似乎很常见。
答案 1 :(得分:1)
马蒂亚斯是对的。目前你没有任何流媒体。
并且给定的ffmpeg-command应该可以工作,但是你可能想要考虑,也许feed部分是有效的。
如果视频文件已存储在服务器上,则您不需要该Feed(因为视频本身将作为一个视频)。
<Stream test.sdp>
File "path_to_your_file" #instead of the Feed
...
</Stream>
如果视频文件位于另一台计算机上,则必须先将其流式传输到服务器(请参阅Matthias&#39;回答)。
修改强>:
如果你想在流式传输之前弄乱流,你还需要这个源。