@Metallyrg

Пересобрать контейнер или кодировать FFMPEG?

У меня есть скрипт на питоне, кодирующий видео из формата webm в mp4. Видео изменяться не должно, и вот вопрос, можно ли как-то просто пересобрать контейнер, а не кодировать покадрово каждое видео?

Код работает через библиотеку
https://github.com/kkroening/ffmpeg-python/blob/ma...
import ffmpeg
(
    ffmpeg
    .input('/var/development/decode_webm/1.webm')
    .output('/var/development/webm_upload/1.mp4')
    .run()
)
  • Вопрос задан
  • 240 просмотров
Решения вопроса 1
Moskus
@Moskus
Вероятнее всего, так:
import ffmpeg
(
    ffmpeg
    .input('/var/development/decode_webm/1.webm')
    .output('/var/development/webm_upload/1.mp4', vcodec=copy, acodec=copy)
    .run()
)


Но синтаксис там идиотский и не совпадает с чистым ffmpeg. Вам принципиально это на питоне делать? В консоли будет проще.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@sardigital
можно через subprocess запускать ffmpeg и ждать выполнения.
https://docs.python.org/3/library/subprocess.html#...

check_call(['ffmpeg', '-v', 'warning', '-y', '-f', 'concat', '-i', input_path, '-c', 'copy', '-c:v', 'h264', '-c:a', 'mp2', '-preset', 'ultrafast', output_path])
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы