Intereting Posts
Сценарий оболочки для назначения значений из таблицы поиска слишком медленный Можно ли распаковать zip-файл, содержащий образ диска, а затем сохранить его на SD-карту за один шаг? Запуск служб без Systemd? Как я могу перечислить файлы по типу с помощью ls? мой Linux не может видеть устройство srix card atrix 4g Как настроить пользователей, права собственности и разрешения на локальных и удаленных серверах? История команды bash, редактирующая несколько строк Команда «pvs» говорит, что устройство PV не найдено, но LV отображаются и монтируются Как я могу использовать DD для переноса данных со старого диска на новый диск? Как создать веб-страницы в моем домашнем каталоге и настроить веб-сервер в своем веб-браузере? Насколько похожи Android и QNX? df -h в Unix vs Linux VPN-туннелирование через другую VPN Копировать ввод в буфер обмена через SSH? Как локальный логин пользователя (PAM) с MySQL?

ffmpeg output.mp4 с размером 0

У меня есть сценарий загрузки видео в php, где я выполняю следующую команду:

exec("/usr/bin/ffmpeg -i ".$folder."/".$filenameIn.".mp4 ".$folder."/".$filenameOut.".flv 2>&1", $output); 

И результат flv правильный.

Но когда я выполняю ту же команду с выходом mp4

 exec("/usr/bin/ffmpeg -i ".$folder."/".$filenameIn.".mp4 ".$folder."/".$filenameOut.".mp4 2>&1", $output); 

выход имеет 0 байтов.

Я также пробовал

 exec("/usr/bin/ffmpeg -i ".$folder."/".$filenameIn.".mp4 -vcodec libx264 -crf 20 ".$folder."/".$filenameOut.".mp4"); 

но выходное видео по-прежнему имеет 0 байтов.

Я не знаю почему. Любая помощь?

РЕДАКТИРОВАТЬ:

Если я конвертирую из mp4 в mkv, mkv в порядке. Если я получу этот mkv и вернусь к mp4, окончательный mp4 будет 0 байтами.

Например:

 exec("/usr/bin/ffmpeg -i ".$folder."/".$filename." ".$folder."/".$filenameOut.".mkv 2>&1", $output); exec("/usr/bin/ffmpeg -i ".$folder."/".$filenameOut.".mkv ".$folder."/".$filename.".mp4 2>&1", $output); 

В этом случае первый mp4 имеет 1210409 байт, результирующий mkv имеет 816018 байт, а окончательный mp4 имеет 0 байтов. То же самое с mp4 -> flv -> mp4.

Когда вы видите проблему с программным обеспечением, которое вы пытаетесь запустить с помощью php, возьмите свою команду и запустите ее непосредственно в консоли / терминале и не забудьте заменить все переменные хорошей информацией. Теперь посмотрите, что происходит, и если вы не можете исправить ошибку, просто скопируйте ее из журнала, и кто-то может вам помочь

Для ffmpeg я рекомендую удалить эту часть 2>&1", $output чтобы увидеть, что происходит в консоли