Монтаж и работа с контейнерами (avi, mkv, mp4, ts) - Инструкции - Каталог статей - Скачать фильмы бесплатно и без регистрации!
Вторник, 07.02.2012, 01:59
Приветствую Вас Гость | RSS
прокрутить вправо
прокрутить влево
Меню сайта
Категории каталога
Лучшие новинки
Битва Титанов:

Охотник за головами:

Интерны(сериал):

Аватар:

Ирония любви:

Как приручить дракона:

О чём говорят мужчины:

Вторые:

Любовь в большом городе 2:

Мы из будущего 2:

Поп:

Помни меня:
Статистика
Главная » Статьи » Инструкции

Монтаж и работа с контейнерами (avi, mkv, mp4, ts)
В данной инструкции описаны типичные монтажные
операции над видеофайлами, такие как:

  • склеика/разрезание.
  • извлечение/вставка звуковой дорожки или
    субтитров.
  • создание сэмпла для раздачи.
  • создание глав и ссылок (для контейнера mkv).
1. Как устроена видеопоследовательность:
При сжатии видео используется 3 типа кадров: I, P и B - frames. I-frames
- это кадры без сжатия. Вернее, сжатие производится с очень небольшими
коэффициентами компрессии. I-frames так же называются ключевыми
кадрами. При просмотре сжатого фильма, вся навигация по фильму
производится через ключевые кадры. После I-frames следует
последовательность P-frames например так: IPPPPPPPPPPPPPPPPIPPPPPPP и
так далее. P-frames имеет гораздо больший коэффициент сжатия. Для того,
что бы повысить коэффициент сжатия, были введены B-frames. Они ставятся
между двумя менее сжатыми кадрами (I, P-frames). Последовательность
получается такой: IPBPBPBPBPBPBPIPBPBPBP… Коэффициент сжатия B-frames
больше, чем коэффициент сжатия P-frames. Это достигается тем, что он
сравнивается с 2 окружающими кадрами, а в B-frames записывается, чем он
отличается от них. Но вместе с этим, это накладывает определённые
ограничения. Например, видеопоследовательность не может заканчиваться
B-frames. Начинаться же видеоряд должен обязательно с I-frames. В нём
содержится вся информация об изображении. В P-frames и B-frames
содержится информация не удалённая кодеком во время сжатия, что так же
накладывает определённые трудности при монтаже сжатого материала.




2. Как получить информацию о содержимом видеофайла:
С помощью программ:
GSpot

MediaInfo
3. Контейнеры:
а). Контейнер avi
:
Описание: Компания Microsoft впервые выпустила пакет Video for Windows для
операционной системы Windows 3.1 в ноябре 1992 года, и с тех пор формат
AVI (Audio Video Interleave) является основным для хранения видео в
операционных системах семейства Windows.
Основное
преимущество универсального формата AVI (и, кстати, «секрет» его
долголетия), в отличие от потоковых форматов типа MPEG, а тем более от
таких специализированных разновидностей, как MP3 (MPEG Audio Layer 3), в
том, что «стандартных» AVI-файлов практически не существует: AVI —
фактически не более чем «контейнер», который содержит общее описание
содержимого в стандартизованном виде.
Таким
образом, AVI-файлы только внешне выглядят одинаково, но внутри они
могут сильно различаться, и, в то время как MPEG-, MP3- и MJPEG-файлы
содержат потоки только определенного вида сжатия (компрессии), AVI может
содержать много различных видов компрессии в любых сочетаниях. Однако
работать с AVI-файлом можно будет только пока необходимый кодек доступен
для кодирования/декодирования.
Серьезным
недостатком AVI-формата является то, что аудио- и видеофрагменты не
содержат никаких меток времени или индексов кадра. Данные
упорядочиваются по времени последовательно, в порядке поступления.
Приложение для захвата или проигрывания видео должно само позаботиться о
синхронизации видео- и аудиопотоков. Но если деление видео на кадры
совершенно естественно, то звук представляет собой непрерывный поток,
который приходится искусственно расчленять на фрагменты, соответствующие
кадрам (из-за этого точная синхронизация изображения и звука часто
отсутствует и звук может 'расходиться' с изображением). В простейшем
случае каждому кадру видео соответствует кусок звукового сопровождения,
но далеко не все AVI-файлы делаются по этой простой схеме.
Недостаток временных меток был устранен в
расширении AVI-формата - OpenDML AVI (поддержанный затем в DirectShow и в
ActiveMovie), которое добавляет новые куски по меткам времени.
Контейнер уже давно устарел и все никак не
хочет уходить на пенсию, причем подавляющая часть медиа контента в сети
до сих пор распространяется именно в нем. Минусы:
  • Для каждой цепочки AVI-файла теряется 24 байта на заголовки и
    индекс. Это приводит к потерям чуть более 5МБ/час.
  • Может быть сохранено только содержимое с фиксированной частотой
    кадров. Т.е. не возможно поместить в AVI смешанный материал, например,
    смесь NTSC видео и киноматериала. В действительности, есть хаки,
    позволяющие сохранять содержимое с переменным fps в AVI, но они
    увеличивают (и без того большую) избыточность впятеро или более того и
    поэтому непрактичны.
  • Аудио в AVI-файлах должно быть или с постоянным битпотоком (CBR) или
    с постоянным размером кадра (т.е. все кадры декодируются в одно и то же
    число выборок).
  • AVI не способен отличить P-кадр от B-кадра. Не предусмотрено
    спецификацией. DivX / Xvid решают эту проблему в обход спецификации, что
    тоже не совсем хорошо и может создавать проблемы.
  • Контейнер AVI создавался для работы через интерфейс VfW (Video for
    Windows) и как раз VidtualDub является программой использующей
    исключительно VfW. Поскольку VfW является сильно устаревшим и не гибким,
    современные программы используют DS (DirectShow). Программы
    использующие DS замечательно работают с контейнерами под DS заточенными,
    но вот с VfW возникают проблемы в виде расхождения аудио и
    видеодорожек. Поэтому не следует использовать для работы с AVI-файлами
    программы, работающие не через VfW.
  • Отсутствует поддержка современных кодеков.
Структура:
В соответствии с общей структурой RIFF-типа, AVI-файл должен иметь
следующий вид:

Quote
RIFF 'AVI '     // четырехбуквенный идентификатор
файла (в RIFF-формате)

LIST 'hdrl'     // список заголовков блоков, определяющих форматы
потоков

LIST 'movi'     // блоки данных (потоков) AVI-файла

     'idx1'     // необязательный блок, определяющий размещение блоков
данных внутри AVI-файла <AVI Index>


То есть в AVI-файле должно быть по крайней мере два обязательных блока:
заголовка и данных, которые, в свою очередь, могут содержать подблоки.
Первый блок будет содержать общую информацию о видеоролике: разрешение
кадров и их частоту, формат аудио и т.д. Сначала в заголовке для записи
длины потока отводилось 32 байт, поскольку в файловой системе FAT 16
максимальный раздел диска не мог превышать 2 Гбайт, поэтому и
максимальный кусок видео, который можно было записывать в AVI-файле, не
мог превышать 2 Гбайт (с учетом знака переменной размера). Во времена
возникновения формата казалось естественным, что длина файла не может
превышать размер логического диска. С появлением файловых систем FAT 32 и
NTFS верхняя граница размера раздела значительно отодвинулась, однако
потребовалось еще немало времени, чтобы ввести расширение формата и
дождаться программ, способных это ограничение обходить.
Список 'hdrl' может состоять из подсписков:

LIST 'hdrl'     // список заголовков блоков,
определяющих форматы потоков

     'avih'     // главный заголовок AVI-файла

LIST 'strl'

     'strh'     // заголовок потока

     'strf'     // формат потока

     'strd'     // дополнительный заголовок данных



Список 'movi', в свою очередь, состоит
из подблоков:

LIST 'movi'                                         
// блоки данных (потоков) AVI-файла

SubChunk | LIST 'rec '                               // подблок | список
записей

                '##wb' (размер блока 4 байта) (data) // звуковые данные
(блок)

                '##dc' (размер блока 4 байта) (data) // видеоданные
(блок)

                '##db' (размер блока 4 байта) (data) // видеоданные
(блок)


Таким образом, подблок данных организован в виде последовательности
записей, каждая из которых состоит из одного кадра видео и
соответствующего звукового сопровождения. Первоначально ##dc-блок был
предназначен для хранения сжатого изображения, а ##db-блок - для
несжатого DIB (Device Independent Bitmap). Но фактически они оба могут
содержать сжатые данные.
б). Контейнер MKV:
Описание:
Современный, отвечающий всем потребностям, отличный контейнер.
Matroska (так по-английски пишется русское
слово Матрёшка) — проект, нацеленный на создание открытого гибкого
кросс-платформенного (включая аппаратные платформы) стандарта форматов
мультимедийных контейнеров и набора инструментов и библиотек для работы с
данными в этом формате. Этот проект является развитием проекта MCF, но
значительно отличается тем, что основан на EBML (Extensible Binary Meta
Language — расширяемый двоичный метаязык) — двоичном аналоге языка XML.
Использование EBML позволяет расширять формат без потери совместимости
со старыми программами.
Возможности
формата, закладываемые в Matroska:
  • трансляция по Интернету (протоколы HTTP и RTP);
  • быстрая перемотка в файле;
  • устойчивость к ошибкам;
  • экранные меню (как на DVD дисках);
  • разбиение файла на главы (Chapters);
  • переключаемые на лету субтитры;
  • переключаемые звуковые дорожки;
  • модульная расширяемость;

Следует отметить, что проект аудио/видео контейнера не включает в себя
форматов сжатия видео и кодеков (таких, как MP3 или JPEG). Это упаковка,
которая может содержать большое число потоков аудио, видео и субтитров,
позволяя пользователю хранить в одном файле целый фильм и проигрывать
его мультимедиа-проигрывателем.
Matroska
является открытым проектом (open standard). Это означает, что для
персонального использования она абсолютно бесплатна, а техническая
спецификация формата битового потока доступна любому, даже компаниям,
желающим встроить поддержку формата в свои продукты (для этого
потребуется специальная лицензия). Исходный код всех библиотек,
созданных группой разработчиков проекта Matroska распространяется на
условиях LGPL (библиотека для проигрывания, написанная на C с
использованием целочисленной арифметики, распространятся также на
условиях лицензии BSD).
Matroska
является прямой открытой альтернативой контейнерам AVI, ASF video, MOV,
RealMedia, MP4, MPG. Существует поддержка адаптации и реализации
библиотек Matroska для OpenBeOS Mediakit и GStreamer (англ.)
(мультимедийной среды ОС GNU/Linux, похожей на Microsoft DirectShow для
Windows) и набора фильтров DirectShow для воспроизведения и создания
файлов Matroska в ОС Windows.
в). Контейнер MP4:
Описание:
Контейнер, который является стандартом для MPEG-4.

Имеет ограничения: не может содержать внутри видео в форматах: WMV,
MPEG1, MPEG2, и не может содержать внутри звук в форматах: AC3, MP2,
WMA.
г). Контейнер TS, M2TS
Описание:
Целью создания контейнера TS является мультиплексирование аудио и видео
данных и синхронизизация их выхода. Т.е. основное назначение -
трансляция по сетям передачи данных.

Категория: Инструкции | Добавил: Admin (11.06.2010)
Просмотров: 2163 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Мини-профиль
гость
01:59
Группа: Гости

Логин:
Пароль:
Сегодня празднуют
Вебновости
Скоро на сайте
Детям до 16 ...

Впусти меня:

Мачете:

Безответная любовь:

Копы в глубоком запасе:

Начало:

Неудержимые:

Погребённый заживо:

Пираньи 3D:

Трон: Наследие:

Шаг вперёд 3D:

Социальная сеть: