
ffmpeg-python
をラッパーとして使用していますffmpeg
。
私は以下を使用してパディングしていますvideo.mp4
:
import ffmpeg
v = ffmpeg.input('video.mp4')
kwargs = {
'w':'100',
'h':'100',
'x':'10',
'y':'10',
'color':'black@0'}
v_pad = ffmpeg.filter(v, filter_name='pad', **kwargs)
v_pad.output('out.mp4').run()
しかし、背景が黒いままです。透明にするにはどうすればいいでしょうか?
答え1
libvpx-vp9 などのアルファ チャネルをサポートするエンコーダーを使用する必要があります。
アルファ サポートを確認するには、 の出力を確認し、ffmpeg -h encoder=<encoder name>
を参照して、 などの結果でSupported pixel formats
「 」を探します。a
yuva420p
コマンド例:
ffmpeg -i input.mp4 -filter_complex "[0]format=yuva420p,pad=iw+200:ih+200:(ow-iw)/2:(oh-ih)/2:black@0" -c:v libvpx-vp9 -crf 30 -b:v 0 output.webm
このエンコーダの詳細については、FFmpeg ウィキ: VP9。
動作しない場合は、プレーヤーまたはブラウザもサポートしていることを確認してください。ffmpeg
正常に動作しているかもしれませんが、プレーヤー自体に問題がある可能性があります。