Текущее время: 29 мар 2024, 13:43 • Часовой пояс: UTC + 3 часа
Сообщения без ответов | Активные темы

Из чего складывается длина mpg файла

Начать новую темуОтветить на тему Страница 1 из 1 [ Сообщений: 8 ]
Версия для печати Пред. тема | След. тема
АвторСообщение
Сообщение Добавлено: 07 апр 2009, 15:37. Заголовок сообщения:  Из чего складывается длина mpg файла
Зарегистрирован:
    11 май 2007, 13:13
Сообщения: 6
Скажу сразу, что прочитал уже много всего, но остается непонятным, как точно подсчитать длину mpg-файла.

Пример:
захватываю аппаратным MPEG энкодером, в параметрах выставляю
Видео битрейт - 5000 кБит/с (постоянный)
Аудио битрейт - 256 кБит/с

При времени записи - 60,84 сек
Длина получившегося mpg файла - 40 570 880 байт

В Womble MPEG Video Wizard без перекодировки разбиваю на два файла - видео и аудио, длина соответственно:
38 026 667 байт и 1 946 880 байт
Считаем битрейт (обратная задача):
видео: 38 026 667*8/60,84=5000219, т.е 5000 тыс. Бит в сек., т.е. это, видимо, считается 5000 кБит/с - как и выставлено;
аудио: 1 946 880*8/60,84=256000, т.е 256 тыс. Бит в сек., т.е. это, видимо, считается 256 кБит/с - как и выставлено.

НО почему в сумме 38 026 667 + 1 946 880 меньше 40 570 880 и как "набежали" эти 40 570 880 ???
Профиль 
Сообщение Добавлено: 07 апр 2009, 19:06. Заголовок сообщения: 
Аватара пользователя
Зарегистрирован:
    10 мар 2009, 18:23
Сообщения: 31
Откуда: Ryazan
А как же синхронизация? Если не ошибаюсь...
Intel(R) Core(TM)2 Quad CPU Q9300 I ASUSTeK Computer INC. P5Q-E I 2x 534МГц (1.06 ГГц) 4x 1Gb OCZ I ATI Radeon HD 4800 Series
3х 500gb (1.5 Tb) HDD I 2x DVD-RW I Beholder 609 RDS I Hyper 630W I WI-FI I BT I ADSL I WinXP prof SP3
Профиль ICQ 
Сообщение Добавлено: 08 апр 2009, 08:31. Заголовок сообщения: 
Зарегистрирован:
    11 май 2007, 13:13
Сообщения: 6
40 570 880 - (38 026 667 + 1 946 880 )= 597 333
если здесь нет постоянной составляющей, то "разница" "набегает" со скоростью
597 333 *8/60,84=78544, т.е 78,5 тыс. Бит в сек., т.е., по аналогии, - 78,5 кБит/с

почти треть аудио потока

Вопрос остается.
Профиль 
Сообщение Добавлено: 08 апр 2009, 10:32. Заголовок сообщения: 
Эксперт
Аватара пользователя
Зарегистрирован:
    23 мар 2007, 14:32
Сообщения: 4034
Откуда: РФ, ДНР, Донецк
А зачем вам такой точный прогноз?
Экономите на дисковом пространстве?
Или btv ничего не прогнозирует на аппаратном кодировщике?

Используйте Soft-MPEG2, он прогнозирует слегка. Правда цифры все время меняются. Значит, там не такие строго линейные расчеты, какие вы привели.
Кроме аудио-видео потоков всегда есть еще служебная информация (заголовки, привязка потоков друг к другу и т.д.).
И вообще, угадать, как сожмется та или иная последовательность кадров невозможно. Тем более в реальном времени. Это при обработке с диска можно как-то наперед сотню-другую кадров обсчитывать, да и то не угадаешь. А в реале - вообще неразрешимая задача.
Значит и секунда того же видео может оказаться не 5000 КБит, а чуть больше/меньше. Вы ж сами написали - 5000219, это не есть 5000. Вот еще одна причина небольших отклонений. При записи другого видеоряда будет другая цифра, даже при то же битрейте.
С аудио проще, оно по-моему несжатое идет. Там всегда размер/скорость одинаковы. И зависят только от частоты выборки семплов. А она всегда фиксирована.

PS
По вашим расчетам:
38 026 667 + 1 946 880 = 39 973 547
40 570 880 - 39 973 547 = 597 333 - неужели такая большая разница, чтобы из-за этого переживать ?! Что в наше время пол мегабайта ...
Behold TV 609FM, Behold TV X7
Intel Core i7-4770K, ASUS Z87-K, RAM 32 GB, NVidia GT630 2GB.
Win7, на 10 худо-бедно пахал только X7 влагодаря аппаратному кодировщику.
Профиль 
Сообщение Добавлено: 08 апр 2009, 11:31. Заголовок сообщения: 
Зарегистрирован:
    11 май 2007, 13:13
Сообщения: 6
писал(а):
А зачем вам такой точный прогноз?

Точный прогноз для того, чтобы вписаться в размер болванки при максимальном битрейте видео, т.е. лишние 100-200 кБит/с не повредят.

писал(а):
597 333 - неужели такая большая разница, чтобы из-за этого переживать ?! Что в наше время пол мегабайта ...

это за минуту, а за 100 минут будет 50-60 Мб, тоже, конечно, мелочь, но из-за нее можно не вписаться в болванку. Вобще, я это не из-за экономии, а чтобы понять принцип и узнать, если какие еще формулы для подсчета.

Такой пример (см. самый первый пост) я привел для аппаратного MPEG энкодера, но такое же есть и при использовании софтового (InterVideo).

И ещё.
Когда эти два видео и аудио файла по 38 026 667 байт и 1 946 880 байт, собрал в Womble MPEG Video Wizard, естественно опять без перекодировки, обратно в один mpg, то его длина стала 40 806 400 байт, что больше, чем самый первый исходный - 40 570 880.
Если первый исходный (40 570 880) просто "пропустить" через Womble MPEG Video Wizard тоже без перекодировки, то получиться файл длины 40 806 400 байт - как видим, после WMVW длины файлов равны до байта не зависимо от способа.

Вывод: разные кодировщики и программы (монтажа) по-разному добавляют в поток какие-то дополнительные служебные данные. Только как бы это подсчитать или просто как прикинуть поправку.
Профиль 
Сообщение Добавлено: 08 апр 2009, 11:53. Заголовок сообщения: 
Эксперт
Аватара пользователя
Зарегистрирован:
    29 окт 2005, 15:59
Сообщения: 924
AVCh

Считать точно не получится. Не заморачивайся.
Лично я поступаю следующим образом: авторю DVD диск такого размера, как получится, например, 6 Гиг.
Затем с помощью программы CloneDVD поджимаю до однослойного диска. 15-20 минут и без видимой потери качества. И ни грамма свободного места на диске!
Профиль WWW 
Сообщение Добавлено: 08 апр 2009, 12:56. Заголовок сообщения: 
Зарегистрирован:
    11 май 2007, 13:13
Сообщения: 6
Спасибо за ответы.

Вот нашел тут

Стандарт MPEG-2 состоит из трех основных частей:
системной, видео и звуковой.

Системная часть описывает форматы кодирования для мультиплексирования звуковой, видео- и другой инрформации, рассматривает вопросы комбинирования одного или более потоков данных в один или множество потоков, пригодных для хранения или передачи.

Системный уровень выполняет пять основных функций:
- Синхронизация нескольких сжатых потоков при воспроизведении
- Объединение нескольких сжатых потоков в единый поток
- Инициализация для начала воспроизведения
- Обслуживание буфера
- Определение временной шкалы

и тут

см. "Программный поток"

Изображение
Профиль 
Сообщение Добавлено: 08 апр 2009, 13:17. Заголовок сообщения: 
Эксперт
Аватара пользователя
Зарегистрирован:
    23 мар 2007, 14:32
Сообщения: 4034
Откуда: РФ, ДНР, Донецк
Я когда-то давно, еще на тюнере Aver203 с такими же кодеками Intervideo, пытался делать DVD в какой-то программе из комплекта Nero.
Эта прога всегда запускала длительную перекодировку видео из MPEG2 в MPEG2 ! На хрена (извиняюсь) она это делала, я и по сей день понять не могу (все что пришло в голову - какие-то вариации MPEG-2, из-за которых она не могла один к одному записать исходный MPEG2 на диск). Оригинальные файлы .mpg были в десятки раз меньше объема DVD боланки и по времени и по длине. И эта бадяга на моем тогдашнем Celeron-1200!
Кончилось тем, что я и сейчас пишу обычные AVI-шки. Меня устраивает. Хоть уже и комп гораздо мощнее того Celeron-а, и программы м.б. есть более удобные и т.д...
Behold TV 609FM, Behold TV X7
Intel Core i7-4770K, ASUS Z87-K, RAM 32 GB, NVidia GT630 2GB.
Win7, на 10 худо-бедно пахал только X7 влагодаря аппаратному кодировщику.
Профиль 
Показать сообщения за:  Поле сортировки:    
Начать новую темуОтветить на тему  Страница 1 из 1  [ Сообщений: 8 ]  
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 26
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения
Найти:  
Перейти: