2017-10-13 42 views
0

我試圖改變文字在我的直播視頻流 這種動態每隔5分鐘用參數IM:借鑑視頻流動態文本

-vf "drawtext=fontsize=40:fontfile=FreeSerif.ttf:text='hello world':x=(w-text_w)/2:y=(h-text_h)/2" 

我嘗試「C」在FFmpeg控制檯窗口但我不能正確的解決,我總是得到一個解析錯誤。 有沒有一個如何使用這個選項的例子?

謝謝。

+0

您必須使用'textfile ='/ path/to/file':reload = 1'來代替'text =''' – Mulvya

+0

@Mulvya如何從文件讀取?多久它會重新加載? –

回答

1

執行重新加載,您還需要以原子方式寫入文件。首先將文本更新爲臨時文件,然後重命名它。如果沒有,在某些時候,FFMpeg將讀取空數據,並在創建文件並且沒有文本被寫入時失敗。

  • 用接下來的5分鐘的文本創建livetext.txt.tmp。
  • 將livetext.txt.tmp重命名爲livetext.txt。

每5分鐘重複一次該過程。

-vf "drawtext=fontsize=40:fontfile=FreeSerif.ttf:textfile=/path/livetext.txt:x=(w-text_w)/2:y=(h-text_h)/2:reload=1" 

隨着重裝ffmpeg的讀取每一幀的文字,所以更新的速度幾乎瞬間。有關詳細信息,請參閱Drawtext filter

+0

感謝您的回答!有沒有一種方法可以用流拷貝來繪製文本? –

+0

這是一個很大的NO。如果你使用過濾器,你不能使用streamcopy。 – Rens