Являются ли битрейты mp4 такими же, как байты Flash на кадр?

Я конвертирую Flash-ролики в Mp4 (и webm), и мне нужно много узнать о веб-видео.

Процесс начинается с MOV, экспортированных из Flash. Например, у меня есть MOV размером 640 x 290 пикселей, 1 м 58 с, 2843 кадра, 24 кадра в секунду, 171 МБ, 11 Мбит/с.

Преобразовав это в H.264 с помощью Handbrake с постоянным качеством 20 RF, я получаю файл размером 3,45 МБ с, согласно MediaInfo, «общим битрейтом: переменным» и «общим битрейтом» 240 кбит/с (видео 79, аудио 144 с максимальным 170). Bitrate Viewer сообщает мне, что средний битрейт (это может быть только видео) составляет 92 кбит/с с 1-секундным пиком 1019.

Затем я попробовал переменный битрейт Handbrake, потому что (если я правильно понял его преимущества) есть 20 секунд с большим количеством движения в середине видео, которые могли бы выглядеть лучше с более высоким битрейтом. С VBR 300 я получаю файл размером 6,3 МБ с (MediaInfo) общим битрейтом 440 кбит/с, видео 300, аудио 144. Bitrate Viewer имеет средний битрейт 293 кбит/с, с пиковым значением сейчас 3467. Примерно для 65% видео это ниже 130 кбит/с. Я разместил профили просмотра битрейта здесь: http://www.casedasole.it/bitrates.html

Для Flash количество байтов на кадр было важно, потому что при потоковой передаче вам нужно было, чтобы браузер загрузил как можно больше заранее, чтобы особенно большие фрагменты байтов (например, большой JPEG) уже были загружены до того, как Flash-плеер до них доберется.

Мой вопрос: тот же принцип с битрейтом видео? Глядя на этот пиковый битрейт 3467 (конвертирует в 433 кБ), я думаю: "Ничего, к тому времени все видео загрузится". Или я что-то упускаю?

Ответы (1)

Сопоставимо да, но в отличие от Flash у вас очень постоянный средний размер на временной шкале вашего контента. Таким образом, вам не нужно загружать так много, чтобы показать контент, но на самом деле вы можете сразу же начать воспроизводить видео, если ваша пропускная способность равна (на практике, конечно, она должна быть немного выше) среднему битрейту вашего видео. Вам нужно только предварительно загрузить крошечный бит, чтобы учесть несоответствие скорости загрузки.

Изменить: что вы должны учитывать при просмотре графика, который вы опубликовали, у вас довольно много кадров с очень низким битрейтом, поэтому пик на самом деле не так важен, они несколько компенсируют друг друга. Что важно при потоковой передаче, так это средний битрейт, поскольку это битрейт, который необходим для последовательной потоковой передачи видео без остановки, чтобы немного заполнить буфер. На самом деле вам обычно требуется немного больше среднего, чтобы справиться с очень «шумными» битрейтами, которые то увеличиваются, то уменьшаются в течение длительного времени, ваше видео уже является довольно экстремальным примером, обычно у вас гораздо более плавный график. Насколько хорошо вы можете сжать кадр, всегда зависит от сложности вашего видео.

Итак... если мой mp4 транслируется со скоростью, показанной на этом графике - casedasole.it/bitrate.png - проблем с загрузкой через широкополосное/adsl-соединение не должно возникнуть (конечно, при условии, что у меня есть хороший сервер) ?
обычно нет, но вы можете улучшить его еще больше, учитывая низкое разрешение, которое вы можете снизить до 200 кбит / с в зависимости от содержимого вашего видео. Также рекомендуется экспортировать с помощью кодека без потерь из флэш-памяти, такого как «Анимация», который доступен в QuickTime (mov).
Ах, я только что заметил, что вы тот же пользователь, который разместил предыдущий вопрос. Я просто хотел связать вас с video.stackexchange.com/questions/12508/…
Добавил некоторые детали, возможно, это немного проясняет для вас.
Да, это «незавершенная работа», и есть чему поучиться. Я экспортирую из Flash как анимацию, максимальное качество. Моя главная забота сейчас — оптимизировать битрейт и размеры файлов. Но в конце концов мне, возможно, придется начать смотреть на CDN.
Если вы привержены этому и не боитесь приложений cli, вы можете обратиться к cli x264 или использовать x264 через ffmpeg, чтобы иметь больше доступных входных форматов, чем с обычным x264. x264 является кодировщиком Handbrake и предлагает множество возможностей для настройки и даже имеет профиль прогнозирования, подходящий для анимации, а не для живого контента. В Интернете есть несколько отличных руководств по профессиональной кодировке x264. Также всегда экспортируйте без потерь из Flash, чтобы сохранить максимальное качество.
На данный момент я использую AVANTI FFmpeg/AviSynth GUI 0.8.0 для создания webm. Но не для mp4 - в выходных файлах есть звук, но нет видео в проигрывателе QT и MPEG Streamclip; нормально работают в VLC player и Google Chrome; Firefox говорит, что «файл поврежден» и не будет воспроизводить его с помощью собственных элементов управления или проигрывателя videojs. Avanti выдает мне это предупреждение: «Установка AviSynth не найдена (параметры AVS отключены)», но это необязательно. Есть идеи, в чем дело?: www.casedasole.it/avanti.png