У меня есть следующая команда, которую я использовал для создания видеофайла MP4 из изображения и файла MP3, он отлично воспроизводится в браузере Chrome на рабочем столе и на телефоне Android - но это не так работать на iPhone 10. Нужен ли какой-нибудь дополнительный код c или настройка, чтобы сделать его совместимым для iPhone? Должен ли я преобразовать это в файл MPEG вместо этого для более широкой совместимости?
ffmpeg -loop 1 -i 6f4aa5dfefc4dd32186f41315ad9d1e2-0.png -i "music.mp3" -c:v libx264 -tune stillimage -c:a aac -b:a 192k -pix_fmt yuv420p -shortest aa-image0.mp4
Вот подробности ffprobe для input файла MP3, используемого для создания видео MP4, а также ffprobe для этот выход файл:
Input #0, wav, from 'download0.mp3':
Duration: 00:00:35.94, bitrate: 384 kb/s
Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 24000 Hz, 1 channels, s16, 384 kb/s
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'aa-image0.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf58.22.100
Duration: 00:00:38.76, start: 0.000000, bitrate: 505 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 2664x1498 [SAR 1:1 DAR 1332:749], 367 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 138 kb/s (default)
Metadata:
handler_name : SoundHandler
Возможно, видео воспроизводится на iPhone, но звук постоянно запускается / останавливается. Как будто это потоковая проблема (хотя это не так). Возможно, проблема с кодировкой MP3 при создании видео?
Вот тестовые файлы, которые я использовал и создал (любые пользователи iPhone, вероятно, обнаружат, что MP4 не будет правильно воспроизводить звук в видео):
https://ffmpeg-iphone-issue.netlify.com/tesla.jpg
https://ffmpeg-iphone-issue.netlify.com/tesla.mp3
https://ffmpeg-iphone-issue.netlify.com/tesla.mp4 (ВЫХОД - Создан из 2 файла выше)
В общем, требуются две команды FFmpeg:
1) Используется для создания совместимых с iPhone / iOS видео в FFmpeg из изображения и MP3 (небольшое изменение команды в верхней части страницы)
и
2) Команда FFmpeg, которую можно использовать для исправления или перекодирования видео выше, чтобы оно работало на iPhone (Новая команда, включающая части, поэтому она работает с iPhone, а затем перестраивает и исправляет «испорченное» видео. Аналогично этому видео, где он исправляет испорченное видео https://www.youtube.com/watch?v=2FhmbKKh6mc [команда в описании Youtube])