sir*_*ion 5 mp4 ffmpeg rtsp video-streaming ffserver
我正在尝试使用ffserver通过RTSP流式传输mp4文件,到目前为止没有任何运气。我只想直接从文件中流式传输,而不必从ffmpeg中馈送(不涉及转码)。但我已经将其与mpg视频一起使用。
这是我的ffserver配置文件:
Port 8090
BindAddress 0.0.0.0
MaxHTTPConnections 2000
MaxClients 1000
MaxBandwidth 500000
CustomLog -
NoDaemon
RTSPPort 7654
RTSPBindAddress 0.0.0.0
<Stream test1-rtsp>
Format rtp
File "/home/g/video_streaming/sample3-mpeg2.mpg"
</Stream>
<Stream test2-rtsp>
Format rtp
File "/home/g/video.mp4"
</Stream>
Run Code Online (Sandbox Code Playgroud)
当我启动ffserver时,根据日志输出,一切似乎都很好:
$ ./dev/ffmpeg/ffserver -f ffserver-sample.conf
ffserver version N-45673-gd0c27e8 Copyright (c) 2000-2012 the FFmpeg developers
built on Oct 18 2012 10:36:52 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
configuration:
libavutil 51. 76.100 / 51. 76.100
libavcodec 54. 66.100 / 54. 66.100
libavformat 54. 33.100 / 54. 33.100
libavdevice 54. 3.100 / 54. 3.100
libavfilter 3. 19.103 / 3. 19.103
libswscale 2. 1.101 / 2. 1.101
libswresample 0. 16.100 / 0. 16.100
Thu Oct 18 11:54:22 2012 Opening file '/home/g/video.mp4'
Thu Oct 18 11:54:22 2012 Opening file '/home/g/video.mp4'
Thu Oct 18 11:54:23 2012 Opening file '/home/g/video_streaming/sample3-mpeg2.mpg'
Thu Oct 18 11:54:23 2012 [mpeg @ 0x1dae3c0]max_analyze_duration 5000000 reached at 5005000
Thu Oct 18 11:54:23 2012 Opening file '/home/g/video_streaming/sample3-mpeg2.mpg'
Thu Oct 18 11:54:23 2012 [mpeg @ 0x1dae3c0]max_analyze_duration 5000000 reached at 5005000
Thu Oct 18 11:54:23 2012 FFserver started.
Run Code Online (Sandbox Code Playgroud)
最后,如果我运行ffplay来测试服务器,则对于mpg文件,一切正常,但对于mp4,则一切正常:
$ ffplay rtsp://192.168.1.99:7654/test2-rtsp
ffplay version N-45656-g916352f Copyright (c) 2003-2012 the FFmpeg developers
built on Oct 17 2012 16:14:14 with gcc 4.4.5 (Ubuntu/Linaro 4.4.4-14ubuntu5.1)
configuration:
libavutil 51. 76.100 / 51. 76.100
libavcodec 54. 66.100 / 54. 66.100
libavformat 54. 33.100 / 54. 33.100
libavdevice 54. 3.100 / 54. 3.100
libavfilter 3. 19.103 / 3. 19.103
libswscale 2. 1.101 / 2. 1.101
libswresample 0. 16.100 / 0. 16.100
rtsp://192.168.1.99:7654/test2-rtsp: Invalid data found when processing input
Server's output:
Thu Oct 18 11:57:51 2012 FFserver started.
Thu Oct 18 11:58:01 2012 192.168.1.101 - - [DESCRIBE] "rtsp://192.168.1.99:7654/test2-rtsp RTSP/1.0" 200 167
Segmentation fault (core dumped)
Run Code Online (Sandbox Code Playgroud)
我真的不知道我可能会错过什么。我刚刚在官方文档中读到,从文件流式传输已损坏。由于我真的不知道这是否是最新的,所以我决定在这里尝试一下。
有什么帮助或建议吗?备择方案?
小智 1
如果您正在寻找替代方案,live555 (http://www.live555.com/) 和 darwin 服务器是不错的选择。我已经使用了它们,并且在从文件流式传输时表现良好。
在上述情况下,您甚至可以通过分析核心转储来尝试调试。通过查看日志,我认为服务器甚至在收到播放命令之前就崩溃了。所以这可能是某个地方的一个小问题