FFmpeg Padding Видео непрозрачно

FFmpeg Padding Видео непрозрачно

Я использую его 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возможно, он выполняет свою работу правильно, но проблема может быть в самом проигрывателе.

Связанный контент