Поделиться через


Пример свойств MPEG

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]

Примеры MPEG имеют следующие характеристики.

Метки времени

Не все примеры имеют время запуска и остановки. Пример времени остановки для данных пакетов и полезных данных не полезен; Обычно устанавливается время начала плюс единица. Для примеров данных пакетов MPEG или полезных данных будет задано время начала и остановки, если пакет системного уровня, из которых они создаются, имел допустимую PTS.

Дополнительные сведения о метках времени см. в разделе 2.4.1 стандарта ISO1-11172: "Заголовок пакета может содержать декодирования и (или) метки времени представления (DTS и PTS), которые ссылаются на первый блок доступа в пакете".

Для MPEG_Stream основных типов время начала — это байтовая позиция первого байта, оцененная в 1 байт в секунду. Время остановки — это байтовая позиция последнего байта. Таким образом, время остановки первого пакета для последовательных выборок должно быть равно времени начала следующего пакета. Для данных видео cd источник среды должен соответствовать формату видео-CD-файла, предоставляемого CDFS со стандартным фрагментом RIFF в начале.

Для типов видеопакетов MPEG и полезных данных меткой времени является время презентации для первого видеокадра, код начала изображения которого начинается в примере.

Для аудиопакетов MPEG и полезных данных метка времени — это время презентации первого звукового кадра, код синхронизации которого начинается в примере.

Предполагается, что пакеты и полезные данные без меток времени могут быть успешно настроены фильтрами обработки.

Прерывания

Если в потоке возникает разрыв (например, разрыв в данных в режиме реального времени или ошибка в данных или после поиска), свойство разрыва устанавливается в следующем образце носителя. Это также обеспечивает разрыв метки времени.

Уведомления об окончании потоковой передачи

Когда декодер получает это уведомление, он должен обработать все буферизированные данные. Затем все новые данные должны начинаться со свойства разрыва.

Поддержка MPEG-2 в DirectShow