2013-02-10 4 views
1

Я конвертирую видео в MP4 для своего веб-плеера. Моя проблема: мои видео не буферизуются. Мне нужно дождаться загрузки всего видео, и после этого я смогу воспроизвести видео.Как установить буфер для MP4 в FFmpeg?

Это моя exec() команда:

ffmpeg -i uploaded_files/'.$le["file"].' -vcodec libx264 -pix_fmt yuv420p flash/'.$le["file"].'.mp4 

Есть ли варианты для буферизации? Мой размер и качество MP4 хороши. Но без буферизации это плохо.

Является ли это ошибкой команды exec(), которую я использую?

ответ

4

Мое видео не буферизуется. Мне нужно дождаться загрузки всего видео, и после этого я смогу воспроизвести видео.

Используйте опцию -movflags faststart во время кодирования, например.

ffmpeg -i input.mp4 […] -movflags faststart output.mp4 

Или, наоборот, запустить qt-faststart на файл.

Причина, по которой файлы не передаются немедленно, заключается в том, что их MOOV atom находится в конце файла, и для его воспроизведения клиенту необходимо проанализировать эту информацию. qt-faststart просто переместит этот атом, и ваши файлы начнут воспроизводиться сразу.

+0

Я попытался Thos: '$ CMD = 'FFmpeg -i uploaded_files/160971517551170c3698a5f-Kukori_es_Kotkoda_1.evad_08.resz _-_ Kakasviadal.avi -vcodec libx264 -pix_fmt yuv420p -preset среда -movflags тест FastStart /' дата ("Его"). . '. mp4'; 'но он пишет: nable для разбора значения параметра" faststart " Недопустимое значение 'movflags' для опции 'faststart' Вы знаете, что не так? (Undefined constant или missing '(' in 'faststart') – janos

+0

Я уверен, что это связано с тем, что ваша версия FFmpeg слишком старая. Вы используете устаревший и двусмысленный '-preset'. Рассмотрим загрузку [статическая сборка ] (http://ffmpeg.org/download.html) со своей домашней страницы или [скомпилировать новую версию] (https://ffmpeg.org/trac/ffmpeg/wiki/CompilationGuide) самостоятельно, если можете (и иметь права администратора на машине). – slhck

+0

Обратите внимание, что использование 'qt-faststart' не зависит от любой версии FFmpeg, которую вы используете. Это, как говорится, никогда не представляет собой плохую идею обновлять FFmpeg, поскольку она постоянно развивается - сотни ошибок исправлены в нескольких месяцев. И вы упустили новые возможности. – slhck

Смежные вопросы