从FFServer中寻找并暂停视频流



我成功地从 ffmpeg 中成功地喂食 ffServer ffmpeg 将输入作为管道:

ffmpeg -loglevel fatal -f image2pipe -re -vcodec png -i - -vcodec libx264 http://localhost:8090/%s.ffm

外部 java 过程生成 svg/png 图像,然后推到 ffpmepg

我的 ffserver config允许我在不定义文件大小的情况下以 ffm 文件缓冲five feed。

我的配置看起来像这样:

<Stream live2.mjpg>
   Feed feed2.ffm
   Format mpjpeg
   VideoFrameRate 25
   VideoSize 640x880
   VideoQMin 1
   VideoQMax 5
   NoAudio
   Strict -1
</Stream>

问题是,尽管我可以通过打开网络来观看 vlc 中的流:

http://0.0.0.0:8090/live2.mjpg

但我无法通过已经被缓冲的电影寻找。是否有一种方法可以从" 现在"中播放电影,暂停和恢复播放?我已经尝试了 rtsp > H264 MPG SDP ,但没有成功:

<Stream test1.mpg/sdp/h264>
   Format rtp
   Feed feed2.ffm
   VideoCodec libx264
   VideoSize 640x880
   VideoQMin 1
   VideoQMax 5
   NoAudio
   Strict -1
   VideoFrameRate 25
</Stream>

RTSP 解决方案,或者我需要其他东西?

,这可以从 dynamic 文件中实现,因为我正在使用管道?

  • RTSP

    ffserver中的RTSP支持似乎有点粗略,您可以尝试Darwin Streaming Server或Live555 Media Server。两者似乎至少为VOD支持某些形式的技巧。由于您使用的管道可能不会有帮助。
  • RTMP

    某些RTMP服务器/客户端支持徒处寻求( SMART SEEKING )。

    关于智能Seek

    Adobe Media Server 3.5.3和Flash Player 10.1一起工作 支持智能在VOD流和具有的现场流中寻求智能 缓冲。[来源]。

    ffserver不支持RTMP输出,但您可以使用ffmpeg命令将流直接推向服务器:

    ffmpeg -re -i <input> -f flv rtmp://...

    有一个NGINX RTMP模块和C RTMP服务器,尽管目前尚不清楚它们是否支持智能寻求。VLC似乎可以在暂停时寻求一点,并且通常可以选择修改客户端RTMP缓冲区的大小。

最新更新