我有這個代碼,我用來流式傳輸文件并將視頻的節目名稱放在屏幕頂部的特定時間( name_of_show ),屏幕底部采用節目名稱從 video_title.txt 并將其放在屏幕底部。我想做的是每隔 1 分鐘或 2 分鐘找到一種方法,拉出 video_title.txt 中當前的任何文本并將其放在視頻中幾秒鐘。我會從另一個 python 程序更新 video_title.txt。下面是我當前的代碼。 command = [ "ffmpeg" , "-re" , "-i" , video[0] , "-vf" , "[in]drawtext=fontsize=40:fontcolor=white:box=1:[email protected]:boxborderw=5:fontfile=/home/fonts/timeless.ttf: text='" + name_of_show + "':x='W-(W+tw)*mod(t\,10)/10':y='H/20':enable='between(t,50,70)',drawtext=fontsize=20:fontfile=/home/fonts/timeless.ttf:textfile=/video_title.txt:fontcolor=white:box=1:[email protected]:boxborderw=5:x=W-w+5:y=h-th-50:enable='1'[out]" "-vcodec" , "libx264", "-pix_fmt", "yuv420p", "-preset" , "medium" , "-r" , "30" , "-g" , "48" , "-b:v" , "2500k" , "-acodec" , "libmp3lame" , "-ar" , "44100", "-threads" , "6" , "-q:a" , "3" , "-b:a" , "712000" ,"-bufsize", "512k" , "-f" , "flv" , STREAM_URL,最終我想要達到的效果是在 twitch/youtube 上播放 1 小時的長流,有人可以在其中發送短信,它會出現在流中。
1 回答

湖上湖
TA貢獻2003條經驗 獲得超2個贊
在 drawtext 中使用reload=1
和textfile
選項。
reload
如果設置為 1,文本文件將在每一幀之前重新加載。務必以原子方式更新,否則可能讀取不全,甚至讀取失敗。
textfile
包含要繪制的文本的文本文件。文本必須是 UTF-8 編碼字符序列。
如果參數沒有指定文本字符串,則此參數是必需的text
。
如果同時指定text
和textfile
,則會發生錯誤。
例子:
ffmpeg?-i?input.mp4?-vf?"drawtext=texfile=mytext.txt:reload=1:fontsize=22:fontcolor=white"?output.mp4
要自動更新,您可以使用mv
或等效:
mv?temp.txt?mytext.txt
添加回答
舉報
0/150
提交
取消