0
私はビデオ上に画像をレンダリングしようとしています。いくつかの研究の後に次のコマンドを使用します。ffmpegフィルタはオーバレイでスケールを回転させます。
ffmpeg -y -i "my_video.mp4" -i "my_image.jpg" -filter_complex "color=color=blue:size=711x400:rate=25[container];[0:v]scale=w=400:h=400,setpts=expr=PTS-STARTPTS[vidscaled];[container][vidscaled]overlay=eval=init:shortest=1:x=155:y=0[overlay0];[1:v]scale=w=123:h=123,rotate=a=323.7*PI/180:[email protected]:oh='roth(323.7*PI/180)':ow='rotw(323.7*PI/180)':bilinear=1[imgproc];[overlay0][imgproc]overlay=eval=init:x=18:y='237-abs(123*sin(323.7*PI/180))'[overlay1]" -map "[overlay1]" -map 0:a -strict -2 -preset ultrafast -g 120 output.mp4
このアプローチの問題は、回転する前にスケーリングが適用されているため、画像の品質が低いことです。だから私は
ffmpeg -y -i "my_video.mp4" -i "my_image.jpg" -filter_complex "color=color=blue:size=711x400:rate=25[container];[0:v]scale=w=400:h=400,setpts=expr=PTS-STARTPTS[vidscaled];[container][vidscaled]overlay=eval=init:shortest=1:x=155:y=0[overlay0];[1:v]rotate=a=323.7*PI/180:[email protected]:oh='roth(323.7*PI/180)':ow='rotw(323.7*PI/180)':bilinear=1,scale=w=173:h=173[imgproc];[overlay0][imgproc]overlay=eval=init:x=18:y='237-abs(123*sin(323.7*PI/180))'[overlay1]" -map "[overlay1]" -map 0:a -strict -2 -preset ultrafast -g 120 output.mp4
、問題(次のコマンドを参照)、スケーリングの前に回転を適用しようとしました:0 @C =黒はもう機能していない、回転した画像の周囲にバウンディングボックスは透明ではありません。
誰でもこの魂を助けてください。
PD:C =どれもあまりにも動作しません使用するには、緑の背景
ありがとうございました!それはトリックをしたC: –