2014-10-06 147 views
0

我正試圖將我的桌面屏幕投射到ffserver並將其作爲webm傳輸。我使用下面的ffserver的配置:使用ffmpeg/ffserver流式傳輸webm

<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(最新拱)。我收到錯誤:

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

在客戶端。據我所知,調用ffmpeg -h full時,沒有辦法設置cq級別,並將qmin設置爲0不起作用(由於某種原因,最終爲3,我認爲ffmpeg強制執行最小值)。

這種配置似乎已經在互聯網上的其他人工作,但我不明白如果cq級別默認爲0.如果任何人有任何想法,我會非常感激。

回答

4

添加-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

+0

這有助於一大堆,謝謝! – 2014-11-05 00:33:35