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