Ffmpeg 通过带有ffserver的RTSP从MP4文件传输数据流

Ffmpeg 通过带有ffserver的RTSP从MP4文件传输数据流,ffmpeg,video-streaming,mp4,rtsp,ffserver,Ffmpeg,Video Streaming,Mp4,Rtsp,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.

我正在尝试使用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>
最后,如果我运行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)
我真的不知道我会错过什么。我刚读到一个文件的流媒体有点坏。因为我真的不知道这是否是最新的,所以我决定在这里试一试


有什么帮助或建议吗?备选方案?

如果您正在寻找live555备选方案(http://www.live555.com/ )达尔文服务器是不错的选择。我已经使用了它们,并且在从文件流式传输时表现良好


在上述情况下,您甚至可以通过分析内核转储来尝试调试。通过查看日志,我认为服务器甚至在收到播放命令之前就已经崩溃了。因此,仅仅4年后,它可能在某个地方出现了一个小问题……

您不能使用FFserver流式传输mp4视频,因为它在文件头中包含全局元数据,这使得无法进行随机流访问

可能的替代方案:

// convert awesome.mp4 to awesome.flv

$ ffmpeg -i awesome.mp4 -c:v libx264 -ar 22050 -crf 28 awesome.flv 
有关FFmpeg的更多信息。。。去

// convert awesome.mp4 to awesome.flv

$ ffmpeg -i awesome.mp4 -c:v libx264 -ar 22050 -crf 28 awesome.flv