FFmpeg パディングビデオが透明ではない

FFmpeg パディングビデオが透明ではない

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「 」を探します。ayuva420p

コマンド例:

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正常に動作しているかもしれませんが、プレーヤー自体に問題がある可能性があります。

関連情報