Я пытаюсь преобразовать видео, которое живет на моем сервере, из .webm в .mp4.
shell_exec('ffmpeg -i file.webm output.mp4');
Однако, это приводит к пустому mp4 (0 байт - или, иногда, и очень странно, 28 байт.) Входной файл существует и занимает 45 МБ.
Этот ответ рекомендуется явно копировать входной кодек, но результат тот же.
shell_exec('ffmpeg -i file.webm -vcodec copy -acodec-copy output.mp4');
Что я делаю не так?
[===== РЕДАКТИРОВАТЬ =====]
После нескольких попыток, вдохновленных комментариями, я все еще не испытываю радости от конвертации в MP4.
Кажется, я использую FFMPEG v.2.8.15. Это кажется намного ниже, чем текущий выпуск 4 ~, однако я установил его только неделю назад или около того, поэтому я не уверен, почему это так, и я не знаю, как его обновить (я нахожусь на WHM Cpanel.)
В любом случае, моя проблема не связана с pathing, потому что та же команда работает нормально, если я изменяю .mp4 на .webm - я получаю успешно преобразованный файл .webm.
Но когда я бегу:
$foo = shell_exec('ffmpeg -i file.webm -vcodec copy -acodec copy output3.mp4 -report');
... Я получаю этот вывод журнала FFMPEG .
Я также пробовал:
shell_exec('ffmpeg -fflags +genpts -i file.webm -r 24 KKK.mp4 -report');
... из этого ответа и
shell_exec ('ffmpeg -i file.webm -c: v copy III.mp4');
... из этой статьи .
Обе приводят к одной и той же проблеме, то есть к 0-байтовому файлу .mp4.