Вчера весь день просидел в поиске, но решения толкового не нашёл по вопросу конвертирования видео и его склейки средствами ffmpeg. Задача состоит в следующем приклеить заставку к видео файлу. Знаю что и заставка и видео файл должны быть одинаковы по всем параметрам, чтобы не склеиться криво, конвертировал таким способом, кстати в этом примере кодеки копируются от оригинала, так же пробовал указывать кодеки.
exec('/usr/bin/ffmpeg -i ' . $_SERVER['DOCUMENT_ROOT'] . '/first.mp4 -f mp4 -s 320x240 -b 300k -vcodec copy -acodec copy -ar 22050 -ab 32k -y ' . $_SERVER['DOCUMENT_ROOT'] . '/first_tmp.mp4 | /usr/bin/flvtool2 -U stdin ' . $_SERVER['DOCUMENT_ROOT'] . '/first_tmp.mp4', $output, $return_var);
exec('/usr/bin/ffmpeg -i ' . $_SERVER['DOCUMENT_ROOT'] . '/second.mp4 -f mp4 -s 320x240 -b 300k -vcodec copy -acodec copy -ar 22050 -ab 32k -y ' . $_SERVER['DOCUMENT_ROOT'] . '/second_tmp.mp4 | /usr/bin/flvtool2 -U stdin ' . $_SERVER['DOCUMENT_ROOT'] . '/second_tmp.mp4', $output, $return_var);
Файлы конвертируются, разрешение норм, такое как в настройках 320х240, но вот все остальные параметры всё равно разные.
Хорошо пробую склеить, нашёл единственный рабочий у меня способ, выглядит так
exec('/usr/bin/ffmpeg -i ' . $_SERVER['DOCUMENT_ROOT'] . '/first_tmp.mp4 -acodec copy -vcodec copy -vbsf h264_mp4toannexb -f mpegts mov1.ts');
exec('/usr/bin/ffmpeg -i ' . $_SERVER['DOCUMENT_ROOT'] . '/second_tmp.mp4 -acodec copy -vcodec copy -vbsf h264_mp4toannexb -f mpegts mov2.ts');
exec('/usr/bin/ffmpeg -i "concat:mov1.ts|mov2.ts" -vcodec copy -acodec copy ' . $_SERVER['DOCUMENT_ROOT'] . '/output.mp4');
Всё клеиться и на ПК отлично воспроизводиться, и звук есть без каких-либо тормозов. Но есть но, если оригинальные mp4 файлы имеют превьюшки на ПК, то склеенный превью не отображает. И если смотреть через браузер, то воспроизводится только заставка, дальше видео не идёт. В чём может быть загвоздка? Возможно кто-то сталкивался с такой проблемой
Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
|
Сообщение отредактировал Ixman - 12.7.2014, 12:49