Форум Beholder http://beholder.ru/bb/ | |
Из чего складывается длина mpg файла http://beholder.ru/bb/viewtopic.php?f=9&t=7933 |
Страница 1 из 1 |
Автор: | AVCh [ 07 апр 2009, 15:37 ] |
Заголовок сообщения: | Из чего складывается длина mpg файла |
Скажу сразу, что прочитал уже много всего, но остается непонятным, как точно подсчитать длину 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 ??? |
Автор: | DjDaft [ 07 апр 2009, 19:06 ] |
Заголовок сообщения: | |
А как же синхронизация? Если не ошибаюсь... |
Автор: | AVCh [ 08 апр 2009, 08:31 ] |
Заголовок сообщения: | |
40 570 880 - (38 026 667 + 1 946 880 )= 597 333 если здесь нет постоянной составляющей, то "разница" "набегает" со скоростью 597 333 *8/60,84=78544, т.е 78,5 тыс. Бит в сек., т.е., по аналогии, - 78,5 кБит/с почти треть аудио потока Вопрос остается. |
Автор: | hd44780 [ 08 апр 2009, 10:32 ] |
Заголовок сообщения: | |
А зачем вам такой точный прогноз? Экономите на дисковом пространстве? Или btv ничего не прогнозирует на аппаратном кодировщике? Используйте Soft-MPEG2, он прогнозирует слегка. Правда цифры все время меняются. Значит, там не такие строго линейные расчеты, какие вы привели. Кроме аудио-видео потоков всегда есть еще служебная информация (заголовки, привязка потоков друг к другу и т.д.). И вообще, угадать, как сожмется та или иная последовательность кадров невозможно. Тем более в реальном времени. Это при обработке с диска можно как-то наперед сотню-другую кадров обсчитывать, да и то не угадаешь. А в реале - вообще неразрешимая задача. Значит и секунда того же видео может оказаться не 5000 КБит, а чуть больше/меньше. Вы ж сами написали - 5000219, это не есть 5000. Вот еще одна причина небольших отклонений. При записи другого видеоряда будет другая цифра, даже при то же битрейте. С аудио проще, оно по-моему несжатое идет. Там всегда размер/скорость одинаковы. И зависят только от частоты выборки семплов. А она всегда фиксирована. PS По вашим расчетам: 38 026 667 + 1 946 880 = 39 973 547 40 570 880 - 39 973 547 = 597 333 - неужели такая большая разница, чтобы из-за этого переживать ?! Что в наше время пол мегабайта ... |
Автор: | AVCh [ 08 апр 2009, 11:31 ] |
Заголовок сообщения: | |
писал(а): А зачем вам такой точный прогноз? Точный прогноз для того, чтобы вписаться в размер болванки при максимальном битрейте видео, т.е. лишние 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 длины файлов равны до байта не зависимо от способа. Вывод: разные кодировщики и программы (монтажа) по-разному добавляют в поток какие-то дополнительные служебные данные. Только как бы это подсчитать или просто как прикинуть поправку. |
Автор: | ЮpГен [ 08 апр 2009, 11:53 ] |
Заголовок сообщения: | |
AVCh Считать точно не получится. Не заморачивайся. Лично я поступаю следующим образом: авторю DVD диск такого размера, как получится, например, 6 Гиг. Затем с помощью программы CloneDVD поджимаю до однослойного диска. 15-20 минут и без видимой потери качества. И ни грамма свободного места на диске! |
Автор: | AVCh [ 08 апр 2009, 12:56 ] |
Заголовок сообщения: | |
Спасибо за ответы. Вот нашел тут Стандарт MPEG-2 состоит из трех основных частей: системной, видео и звуковой. Системная часть описывает форматы кодирования для мультиплексирования звуковой, видео- и другой инрформации, рассматривает вопросы комбинирования одного или более потоков данных в один или множество потоков, пригодных для хранения или передачи. Системный уровень выполняет пять основных функций: - Синхронизация нескольких сжатых потоков при воспроизведении - Объединение нескольких сжатых потоков в единый поток - Инициализация для начала воспроизведения - Обслуживание буфера - Определение временной шкалы и тут см. "Программный поток" ![]() |
Автор: | hd44780 [ 08 апр 2009, 13:17 ] |
Заголовок сообщения: | |
Я когда-то давно, еще на тюнере Aver203 с такими же кодеками Intervideo, пытался делать DVD в какой-то программе из комплекта Nero. Эта прога всегда запускала длительную перекодировку видео из MPEG2 в MPEG2 ! На хрена (извиняюсь) она это делала, я и по сей день понять не могу (все что пришло в голову - какие-то вариации MPEG-2, из-за которых она не могла один к одному записать исходный MPEG2 на диск). Оригинальные файлы .mpg были в десятки раз меньше объема DVD боланки и по времени и по длине. И эта бадяга на моем тогдашнем Celeron-1200! Кончилось тем, что я и сейчас пишу обычные AVI-шки. Меня устраивает. Хоть уже и комп гораздо мощнее того Celeron-а, и программы м.б. есть более удобные и т.д... |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |