ffmpeg - 使用 ffmpeg/ffserver 流式传输 webm

标签 ffmpeg webm

我正在尝试将桌面屏幕转换到 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-level,并且将 qmin 设置为 0 不起作用(我猜由于某种原因,它最终变成了 3) ffmpeg 强制执行最小值)。

此配置似乎适用于互联网上的其他人,但我不知道如果 cq-level 默认为 0,会如何。如果有人有任何想法,我将非常感激。

最佳答案

-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

关于ffmpeg - 使用 ffmpeg/ffserver 流式传输 webm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26222512/

相关文章:

C++ OpenCV 3.4/FFMPEG 3.4.1 VideoWriter 和 MP4 输出文件格式

ffmpeg - 如何通过 ffmpeg (C++) 获取 rtsp-sesson 的开始时间? start_time_realtime 始终等于 -9223372036854775808

javascript - 是否可以将多个 webm blob/剪辑合并到一个顺序视频客户端中?

html - 仅使用视频标签实时流式传输到 HTML5(不带 webrtc)

join - 使用 FFMPEG 将两个 MTS 文件连接在一起

video - 在视频播放器上设置时间触发器

ffmpeg - 递归地将 .mp4 文件重新编码为 .mp4 的新副本,并使用 ffmpeg 将 .mp4 转换为 .webm 和 .ogg

html - 不支持 "type"的指定 "video/mp4"属性

html - 如何在包括 Firefox 在内的所有主要设备和浏览器上播放视频?

linux - 当使用 ffmpeg 将脚本传输到 bash 时,第一个字符消失