Проблема обрезки FFMPEG в контейнере Docker для видео, записанных в SafariLinux

Ответить
Гость
 Проблема обрезки FFMPEG в контейнере Docker для видео, записанных в Safari

Сообщение Гость »


У меня возникла проблема с FFMPEG при попытке обрезать видео до определенной продолжительности в контейнере Docker. Обрезка отлично работает на моем локальном компьютере (M1 Pro), но когда я запускаю тот же код в контейнере Docker (используя образ python:3.8-slim-buster), сгенерированный клип длится всего 1 секунду вместо запланированных 5. секунды.

Похоже, проблема специфична для видео, записанных в Safari, поскольку видео, записанные в Google Chrome, работают должным образом как в локальной среде, так и в контейнерной среде.

Вот код, который я использую для обрезки:

def get_clip(source, сгенерированное_имя_файла, до_секунды=5): logging.info("***** Генерация клипа *****") команда = f'ffmpeg -y -i {источник} -t {до_секунды} -c:v libx264 -c:a aac -strict экспериментальный {generated_file_name}' os.system (команда) logging.info("***** Сгенерирован клип *****") вернуть сгенерированное_имя_файла А вот мой Dockerfile:

ИЗ python:3.8-slim-buster WORKDIR/python-docker ЗАПУСК apt-get update && apt-get install gcc python3-dev -y && \ rm -rf /var/lib/apt/lists/* && \ apt-get update && apt-get install ffmpeg libsm6 libxext6 -y КОПИРОВАТЬ требования.txt ЗАПУСК pip3 install -r требования.txt КОПИРОВАТЬ. . ENTRYPOINT экспорт LD_PRELOAD=/usr/local/lib/python3.8/site-packages/torch/lib/../../torch.libs/libgomp-6e1a1d1b.so.1.0.0 && python app.py Я подозреваю, что могут быть проблемы совместимости версий или кодеков ffmpeg между моей локальной машиной и контейнером. Будем очень признательны за любые идеи или предложения о том, как решить эту проблему. Спасибо!

Я пробовал использовать разные библиотеки на Python, например Moviepy, но, поскольку они «за кулисами» используют FFMPEG, так что безуспешно. Также я пытался использовать OpenCV, но он не извлекает звук. Наконец, я также попытался извлечь аудио отдельно с помощью PyDub, но это также извлекло звук всего за одну секунду
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»