Командной строкой для ffmpeg не поделитесь?
ffmpeg -i source.mp4 -map 0:v -vcodec copy -bsf:v h264_mp4toannexb source-video.h264
что вы такое делаете, что вам вдруг сильно стало интересно, как оно работает.
Видео декодируется браузером по алгоритму декодирования данного формата видео.
совмещая с остальными элементами DE.
это очень грубое описание процесса, слишком много нюансов.
Chrome честно использует куски из ffmpeg
а если видеокарта поддерживает (а она обычно поддерживает), то декодирует прямо на ней.
Соответственно, кусок сначала попадает в демуксер и из него вынимаются нужные потоки.
Кто дальше разбирается в этой мешанине байтов? Кто разбирает формат, что вот тут у нас звук, а тут изображение? Кто разжимает изображение в конечный вид, который мы видим на экране?
Кодек.
Используются ли при этом стандартные кодеки, установленные в системе?
Обычно они встроены в браузер.
А как браузер узнаЁт, какой кодек вызывать? Ему скрипт говорит? Или какой-то анализатор/энумератор имеется?
Гуглите по "H264"
Ложка дёгтя - проблема с B-кадрами или с interlaced. Полученный output.mp4 идёт рывками. Пробовал ставить -r 50, но тогда время файла получается вдвое короче и видео идёт с пулемётной скоростью, поэтому, на мой взгляд, -r 25 правильно, но тогда имею рывки. Ремукс output.mp4 через VLC Player не помог :(
При открытии output.mp4 avidemux 2.7.5 ругается
Если ответить "Да", то откусит 5 кадров в конце, причём в плеере они есть, а в avidemux'е - нет :). Если же ответить "Нет", то всё на месте, зато сформированный в avidemux файл тоже дёргается.
Output.mp4, пропущенный через VLC Player, ведёт себя так же :(.
Можно ли тут чего сделать? Желательно без пережатия.