Как уменьшить размер файла при конвертации видео из любого видео в mp4, используя ffmpeg & mp4box в PHPmotion? - PullRequest
2 голосов
/ 16 марта 2012

Я использую ffmpeg & mp4box на своем сайте PHPmotion для конвертации видео в формат mp4. Когда я конвертирую 50 МБ видео в mp4, размер файла остается прежним. Так что это влияет на потоковое видео на моем сайте. Поэтому я хочу уменьшить размер файла видео в конвертации. Это мой пример кода, который я использовал для конвертации видео m4v в PHPmotion.

$ffmpeg_cmd2_2 = "$config[path_to_ffmpeg] -i $raw_video_path -vcodec libx264 -vpre veryfast -crf 15 -b 5120000 -threads 0 -acodec libfaac -ac 2 -ab 128k -ar 44100 -f mp4 $new_flv_1";
$mp4box_cmd = "$mp4box_path -add $new_flv_1 $new_flv_2" 

Когда я использую эту команду, она конвертирует файл m4v в формат mp4, но размер файла не меняется. Какую команду я должен использовать в этом, чтобы уменьшить размер файла во время преобразования видео в PHPmotion? Может кто-нибудь написать команду ffmpeg, чтобы уменьшить размер файла во время преобразования?

Ответы [ 2 ]

4 голосов
/ 22 марта 2012

Существуют два основных фактора, влияющих на уменьшение размера видео mp4

i: ширина и высота видео, чем больше их ширина, тем больше будет размер и медленнее будет передаваться поток e, g 360p, 480p,720p, 1080p

ii: битрейт видео, чем выше его битрейт, тем выше качество, размер и медленнее будет их потоковая передача.

Для более быстрой потоковой передачи я рекомендую использовать

i: 480x360 или ниже ширина и высота видео ii: -b значение 360k или ниже.iii: -ab значение 64k (необязательно)

Надеюсь, это поможет вам.

0 голосов
/ 25 октября 2012

Помимо использования меньшего размера видеокадра, вам необходимо использовать более высокое значение crf для достижения снижения битрейта при сохранении хорошего качества видео.

Заменить это

-crf 15 -b 5120000

с

-crf 22
...