我正在尝试将我的桌面屏幕转换为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>
Run Code Online (Sandbox Code Playgroud)
以及我桌面上的以下命令:
ffmpeg -f x11grab -r 25 -s 1280x800 -i :0.0 -f alsa -i pulse http://127.0.0.1:8090/feed1.ffm
Run Code Online (Sandbox Code Playgroud)
ffmpeg是版本2.4.2并且启用了libvpx(最新的Arch).我收到错误:
[libvpx @ 0x20a21a0] CQ level 0 must be between minimum and maximum quantizer value (10-42)
Run Code Online (Sandbox Code Playgroud)
在客户端.据我所知,ffmpeg -h full无法设置cq级别,并且将qmin设置为0不起作用(由于某种原因它最终为3,我猜ffmpeg强制执行最小值).
这种配置似乎对互联网上的其他人有效,但我不知道如果cq级别默认为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
Run Code Online (Sandbox Code Playgroud)
另外,我建议您阅读ffmpeg流媒体指南
| 归档时间: |
|
| 查看次数: |
10586 次 |
| 最近记录: |