1

我对流媒体世界有点陌生......所以,如果我问了一种愚蠢的问题,请原谅我。

我正在尝试通过 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 上没有响应。

我不知道可能是什么问题。提前致谢。

4

2 回答 2

5

你没有任何东西可以流式传输。你需要开始

ffmpeg -i <source> http://localhost:8090/feed2.ffm

如果您使用指令(在您的配置文件中)为 http 启用端口 8090

Port 8090

以前有人问过这个问题,但是标记很糟糕,所以我找不到。如果有人找到它,请在此处链接。因为启动一个空服务器似乎很常见。

于 2012-09-27T09:59:22.560 回答
1

马蒂亚斯是对的。目前,您没有流式传输任何内容。
并且给定的 ffmpeg-command 应该可以工作,但您可能需要考虑,也许 feed 部分是相反的。

如果视频文件已经存储在服务器上,则不需要提要(因为视频本身将作为一个提要)。

<Stream test.sdp>
File "path_to_your_file"   #instead of the Feed
...
</Stream>

如果视频文件位于另一台计算机上,则必须先将其流式传输到服务器(请参阅 Matthias 的回答)。

编辑
如果您想在流式传输之前弄乱流,您还需要提要。

于 2015-11-02T15:53:33.053 回答