2016-04-08 32 views
0

我使用ffmpeg庫在特定的時間在視頻上繪製文本,我成功地做到了這一點現在我需要將文本從位置移動到另一個位置,我不能這樣做所以任何一個建議我該怎麼做ffmpeg移動文本圖文

我使用這個命令來移動從頂部文本下來,但我不能確定X和Y從X移動,準備具體的X,Y

ffmpeg -i VideoInput.mp4 -vf "drawtext=enable='between(t,12,14)':fontfile=myfont.otf:text='Test test':x=(w-text_w)/2:y=w/50\*mod(t\,2):fontsize=65" -acodec copy outputVideo.mp4 

回答

1

使用

ffmpeg -i VideoInput.mp4 \ 
     -vf "drawtext=enable='between(t,12,14)':fontfile=myfont.otf:text='Test test': \ 
      x='x1+(x2-x1)*(t-t1)/(t2-t1)':y='y1+(y2-y1)*(t-t1)/(t2-t1)':fontsize=65" \ 
     -acodec copy outputVideo.mp4 

,其中

x1y1是初始座標; x2y2是最後的座標; t1t2是開始和結束時間;在你給定的命令中,1214

上面這些需要用命令中的值替換。


要在最後給1秒期間,

ffmpeg -i VideoInput.mp4 \ 
     -vf "drawtext=enable='between(t,12,15)':fontfile=myfont.otf:text='Test test': \ 
      x='if(lt(t-t2+1\,0)\,x1+(x2-x1)*(t-t1)/(t2-t1-1)\,x)': \ 
      y='if(lt(t-t2+1\,0)\,y1+(y2-y1)*(t-t1)/(t2-t1-1)\,y)':fontsize=65" \ 
     -acodec copy outputVideo.mp4 

這裏t2包括撐杆,所以運動從12至14 + 1第二保持。啓用時的t2也會更改。

+0

感謝它對我來說工作正常,但我有另一個問題,如果你可以回答它,在文本消失後,我可以讓它保持可見1秒沒有移動然後它消失 – BOB

+0

你好,我的朋友,我想知道使用ffmpeg移動文本的更多信息 我可以控制移動文本的速度嗎?因爲我想加快它 我試圖谷歌它,但我可以找到解決方案 因此,如果您有任何想法,請幫助 Thansk – BOB

+0

更改停留值'1'例如如果你希望運動從12到13出現,那麼把'1'改爲2,這樣'lt(t-t2 + 1,0)'變成'lt(t-t2 + 2 \,0) '。該命令中的所有其他表達式也相同。 – Mulvya