2017-11-10 14 views
0

1つのテキストを回転させてビデオにオーバーレイするには、ffmpegコマンドを使用しますが、複数のテキストを回転させる方法はありますか?ffmpeg - 複数の回転したテキストとビデオをオーバーレイする方法

ffmpeg -i input1.mp4 -filter_complex \ 
"color=black:100x100[c]; \ 
[c][0]scale2ref[ct][mv]; \ 
[ct]setsar=1, \ 
drawtext=fontfile=../../public/fonts/Roboto-Regular-webfont.ttf: \ 
text='Test Text':fontsize=36:fontcolor=white,split[text][alpha]; \ 
[text][alpha]alphamerge,rotate=30:ow=rotw(30):oh=roth(30):[email protected][txta]; \ 
[mv][txta]overlay=x='min(0,-H*sin(30))+100':y='min(0,W*sin(30))+50':shortest=1" \ 
output_video.mp4 

答えて

0

たとえば、処理するテキストが3つあるとします。

ffmpeg -i input1.mp4 -filter_complex \ 
"color=black:100x100[c]; \ 
[c][0]scale2ref[ct][mv]; \ 
[ct]setsar=1,split=3[t1][t2][t3]; \ 
[t1]drawtext=fontfile=../../public/fonts/Roboto-Regular-webfont.ttf: \ 
text='Test Text 1':fontsize=36:fontcolor=white,split[text1][alpha1]; \ 
[text1][alpha1]alphamerge,rotate=30:ow=rotw(30):oh=roth(30):[email protected][txta1]; \ 
[t2]drawtext=fontfile=../../public/fonts/Roboto-Regular-webfont.ttf: \ 
text='Test Text 2':fontsize=36:fontcolor=white,split[text2][alpha2]; \ 
[text2][alpha2]alphamerge,rotate=45:ow=rotw(45):oh=roth(45):[email protected][txta2]; \ 
[t3]drawtext=fontfile=../../public/fonts/Roboto-Regular-webfont.ttf: \ 
text='Test Text 3':fontsize=36:fontcolor=white,split[text3][alpha3]; \ 
[text3][alpha3]alphamerge,rotate=60:ow=rotw(60):oh=roth(60):[email protected][txta3]; \ 
[mv][txta1]overlay=x='min(0,-H*sin(30))+100':y='min(0,W*sin(30))+50':shortest=1[mv1]; \ 
[mv1][txta2]overlay=x='min(0,-H*sin(45))+100':y='min(0,W*sin(45))+50':shortest=1[mv2]; \ 
[mv2][txta3]overlay=x='min(0,-H*sin(60))+100':y='min(0,W*sin(60))+50':shortest=1" \ 
output_video.mp4 

重複しないようにオーバーレイ座標を調整する必要がある場合があります。

関連する問題