FFMPEG конвертация видео в MP4 работает везде, кроме iOS Safari / Chrome - PullRequest
0 голосов
/ 23 января 2019

Я использую следующий код для преобразования .webm видео в .mp4 с использованием библиотеки FFMPEG:

ffmpeg -i video.webm -vcodec h264 -acodec aac -strict experimental video.mp4

Это работает безупречно при воспроизведении преобразованного видео в Windows (Chrome / Firefox), Mac (Safari / Chrome), Android (Chrome), но он не работает при просмотре через iOS (Safari / Chrome).

Сначала я подумал, что это может быть mp4 проблема?Но потом я без проблем сыграл в моем iOS Safari это видео https://www.w3schools.com/html/mov_bbb.mp4, которое также является mp4.

Так что это говорит мне о том, что что-то не так с преобразованием.

Чего мне не хватает в конвертации?

Журнал из PuTTy: https://pastebin.com/VLSPL0nC

1 Ответ

0 голосов
/ 24 января 2019
  1. Ваш ffmpeg древний. Скачать или скомпилировать новую версию.
  2. Удалить -strict experimental (это необходимо только для действительно старых сборок).
  3. Добавьте -movflags +faststart, чтобы ускорить воспроизведение.
  4. Добавить -vf format=yuv420p для совместимого формата пикселей.
  5. Выводит аудио AAC (-c:a aac) вместо MP3 (-c:a libmp3lame).
  6. Если это не помогло, это может быть связано с тем, что устройство не поддерживает высокий профиль. Добавьте -profile:v main. Вам не нужно добавлять это, если ваше устройство поддерживает высокий профиль.
* +1025 * Пример:
ffmpeg -i input -c:v libx264 -profile:v main -vf format=yuv420p -c:a aac -movflags +faststart output.mp4
  • Обратитесь к спецификациям вашего целевого устройства, чтобы определить соответствующий -profile:v (и, возможно, -level).

  • См. FFmpeg Wiki: H.264 для получения дополнительной информации.

...