【问题标题】:Streaming webm with ffmpeg/ffserver使用 ffmpeg/ffserver 流式传输 webm
【发布时间】:2014-10-06 18:30:25
【问题描述】:

我正在尝试将我的桌面屏幕投射到 ffserver 并将其作为 webm 流式传输。我正在使用以下 ffserver 配置:

<Feed feed1.ffm>               # This is the input feed where FFmpeg will send
   File ./feed1.ffm            # video stream.
   FileMaxSize 1G              # Maximum file size for buffering video
   ACL allow 127.0.0.1
   ACL allow localhost
</Feed>

<Stream test.webm>              # Output stream URL definition
   Feed feed1.ffm              # Feed from which to receive video
   Format webm

   # Audio settings
   AudioCodec vorbis
   AudioBitRate 64             # Audio bitrate

   # Video settings
   VideoCodec libvpx
   VideoSize 720x576           # Video resolution
   VideoFrameRate 25           # Video FPS

   AVOptionVideo cpu-used 10
   AVOptionVideo qmin 10
   AVOptionVideo qmax 42
   AVOptionVideo quality good
   AVOptionAudio flags +global_header
   PreRoll 15
   StartSendOnKey
   VideoBitRate 400            # Video bitrate
</Stream>

然后在我的桌面上执行以下命令:

ffmpeg -f x11grab -r 25 -s 1280x800 -i :0.0 -f alsa -i pulse http://127.0.0.1:8090/feed1.ffm

ffmpeg 版本为 2.4.2 并启用了 libvpx(Arch 上的最新版本)。我得到了错误:

[libvpx @ 0x20a21a0] CQ level 0 must be between minimum and maximum quantizer value (10-42)

在客户端。据我通过调用ffmpeg -h full 可以看出,无法设置 cq 级别,并且将 qmin 设置为 0 不起作用(由于某种原因它最终为 3,我猜 ffmpeg 强制执行最小值)。

这个配置似乎对互联网上的其他人有用,但我看不出 cq-level 是否默认为 0。如果有人有任何想法,我将不胜感激。

【问题讨论】:

    标签: ffmpeg webm


    【解决方案1】:

    -c:v libvpx 添加到您的控制台语法中:

    ffmpeg -f x11grab -r 25 -s 1280x800 -i :0.0 -c:v libvpx -f alsa -i pulse http://127.0.0.1:8090/feed1.ffm
    

    另外我建议阅读ffmpeg streaming guide

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-04
      • 2012-03-22
      • 1970-01-01
      • 2015-04-10
      • 2013-09-19
      • 2013-01-22
      相关资源
      最近更新 更多