Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Ход выполнения задания




1. Скопировать и запустить portable версии ffmpeg и youtube-dl, убедиться в их работоспобности.

2. Скопировать и проверить пример.ts файла (например в VLC плеере).

3. В качестве второго файла для анализа выбрать короткое видео с сайта потокового видео twitch.tv. Можно взять одно из следующих видео [1-3].

4. Для скачивания файла подойдет следующий набор команд:

youtube-dl --get-url URL (получение адреса плейлиста m3u8)

ffmpeg -i "playlist_path.m3u8" -c copy output_name.ts (получение конечного.ts файла)

5. Создать.bat или.sh скрипт с параметром URL, в котором вызывается набор команд из пункта 4.

6. Разработать на любом удобном языке программирования высокого уровня анализатор транспортного потока, который должен удовлетворять следующим требованиям:

· 2 режима работы – анализ.ts файла (задан путь до файла) и скачивание файла с анализом (задан URL на сайте потокового видео twitch.tv). Для второго режима работы скачивание можно осуществить путем вызова скрипта, реализованного в пункте 5, из своей программы.

· Вывод для анализируемого.ts файла содержания произвольного пакета транспортного потока;

· Вывод для анализируемого.ts файла содержания произвольной таблицы PAT;

· Вывод для анализируемого.ts файла содержания произвольной таблицы PMT;

· Вывод для анализируемого.ts файла полного состава всех сервисов и потоков в них с указанием типа потока.

Для облегчения задачи можно воспользоваться кодом на c++, который предоставлен преподавателем. Для определения типа потока можно воспользоваться функцией get_stream_id_name() из [4].

Пример корректного анализа первого примера для разработанной программы:

 

------------------------------------------------

Info about first package:

------------------------------------------------

Payload unit start indicator: 0

Transport Priority: 0

PID: 0x0262

Transport Scrambling Control: 0

Adaptation field control: 1

Continuity Counter: 7

------------------------------------------------

Info about PAT (Program Association Table):

------------------------------------------------

table_id = 0

section_syntax_indicator = 1

section_length = 37

transport_stream_id = 4100

version_number = 2

current_next_indicator = 1

section_number = 0

last_section_number = 0

numProgramBytes = 28

program_number = 0

network_PID = 0x0010

program_number = 4164

program_map_PID = 0x1044

program_number = 4228

program_map_PID = 0x1084

program_number = 4351

program_map_PID = 0x10ff

program_number = 4415

program_map_PID = 0x113f

program_number = 4479

program_map_PID = 0x117f

program_number = 4671

program_map_PID = 0x123f

CRC = 0x1768a1ac

------------------------------------------------

Info about first PMT (Program Map Table):

------------------------------------------------

****** PROGRAM MAP *****

table_id = 2

section_syntax_indicator = 1

section_length = 128

program_number = 4671

version_number = 28

current_next_indicator = 1

section_number = 0

last_section_number = 0

PCR_PID = 0x026c

program_info_length = 0

stream_type = 0x0b

elementary_PID = 0x028a

ES_info_length = 3

tag = 0x52 len = 1

stream_type = 0x0b

elementary_PID = 0x028b

ES_info_length = 3

tag = 0x52 len = 1

stream_type = 0x0b

elementary_PID = 0x028c

ES_info_length = 3

tag = 0x52 len = 1

stream_type = 0x0b

elementary_PID = 0x03f5

ES_info_length = 24

tag = 0x52 len = 1

tag = 0x66 len = 12

tag = 0x13 len = 5

stream_type = 0x0b

elementary_PID = 0x03fd

ES_info_length = 3

tag = 0x52 len = 1

stream_type = 0x02

elementary_PID = 0x026c

ES_info_length = 3

tag = 0x52 len = 1

stream_type = 0x03

elementary_PID = 0x026d

ES_info_length = 9

tag = 0x0a len = 4

tag = 0x52 len = 1

stream_type = 0x06

elementary_PID = 0x026f

ES_info_length = 13

tag = 0x52 len = 1

tag = 0x59 len = 8

stream_type = 0x03

elementary_PID = 0x026e

ES_info_length = 9

tag = 0x52 len = 1

tag = 0x0a len = 4

CRC = 0xd7551fdd

****** PROGRAM MAP *****

------------------------------------------------

Summary:

------------------------------------------------

Number of packets found: 111537

Number of programs: 6

Program #1 (PID = 4164):

Number of streams = 10

Stream #1 (PID = 0x258): ISO/IEC 13818-2 (MPEG-2 Video) (0x2)

Stream #2 (PID = 0x259): ISO/IEC 11172-3 (MPEG-1 Audio) (0x3)

Stream #3 (PID = 0x25b): DVB subtitles/VBI (0x6)

Stream #4 (PID = 0x25a): ISO/IEC 11172-3 (MPEG-1 Audio) (0x3)

Stream #5 (PID = 0x28a): ISO/IEC 13818-6 DSM-CC type B (0xb)

Stream #6 (PID = 0x28b): ISO/IEC 13818-6 DSM-CC type B (0xb)

Stream #7 (PID = 0x28c): ISO/IEC 13818-6 DSM-CC type B (0xb)

Stream #8 (PID = 0x3ed): ISO/IEC 13818-6 DSM-CC type B (0xb)

Stream #9 (PID = 0x3ee): ISO/IEC 13818-6 DSM-CC type B (0xb)

Stream #10 (PID = 0x3ef): ISO/IEC 13818-6 DSM-CC type B (0xb)

Program #2 (PID = 4228):

Number of streams = 10

Stream #1 (PID = 0x262): ISO/IEC 13818-2 (MPEG-2 Video) (0x2)

Stream #2 (PID = 0x263): ISO/IEC 11172-3 (MPEG-1 Audio) (0x3)

Stream #3 (PID = 0x265): DVB subtitles/VBI (0x6)

Stream #4 (PID = 0x264): ISO/IEC 11172-3 (MPEG-1 Audio) (0x3)

Stream #5 (PID = 0x28a): ISO/IEC 13818-6 DSM-CC type B (0xb)

Stream #6 (PID = 0x28b): ISO/IEC 13818-6 DSM-CC type B (0xb)

Stream #7 (PID = 0x28c): ISO/IEC 13818-6 DSM-CC type B (0xb)

Stream #8 (PID = 0x3f0): ISO/IEC 13818-6 DSM-CC type B (0xb)

Stream #9 (PID = 0x3f1): ISO/IEC 13818-6 DSM-CC type B (0xb)

Stream #10 (PID = 0x3f2): ISO/IEC 13818-6 DSM-CC type B (0xb)

Program #3 (PID = 4351):

Number of streams = 5

Stream #1 (PID = 0x28a): ISO/IEC 13818-6 DSM-CC type B (0xb)

Stream #2 (PID = 0x28b): ISO/IEC 13818-6 DSM-CC type B (0xb)

Stream #3 (PID = 0x28c): ISO/IEC 13818-6 DSM-CC type B (0xb)

Stream #4 (PID = 0x3f3): ISO/IEC 13818-6 DSM-CC type B (0xb)

Stream #5 (PID = 0x3f4): ISO/IEC 13818-6 DSM-CC type B (0xb)

Program #4 (PID = 4415):

Number of streams = 9

Stream #1 (PID = 0x280): ISO/IEC 13818-2 (MPEG-2 Video) (0x2)

Stream #2 (PID = 0x281): ISO/IEC 11172-3 (MPEG-1 Audio) (0x3)

Stream #3 (PID = 0x283): DVB subtitles/VBI (0x6)

Stream #4 (PID = 0x28a): ISO/IEC 13818-6 DSM-CC type B (0xb)

Stream #5 (PID = 0x28b): ISO/IEC 13818-6 DSM-CC type B (0xb)

Stream #6 (PID = 0x28c): ISO/IEC 13818-6 DSM-CC type B (0xb)

Stream #7 (PID = 0x3f6): ISO/IEC 13818-6 DSM-CC type B (0xb)

Stream #8 (PID = 0x3f7): ISO/IEC 13818-6 DSM-CC type B (0xb)

Stream #9 (PID = 0x3f8): ISO/IEC 13818-6 DSM-CC type B (0xb)

Program #5 (PID = 4479):

Number of streams = 4

Stream #1 (PID = 0x28a): ISO/IEC 13818-6 DSM-CC type B (0xb)

Stream #2 (PID = 0x28b): ISO/IEC 13818-6 DSM-CC type B (0xb)

Stream #3 (PID = 0x28c): ISO/IEC 13818-6 DSM-CC type B (0xb)

Stream #4 (PID = 0x28d): ISO/IEC 13818-6 DSM-CC type B (0xb)

Program #6 (PID = 4671):

Number of streams = 9

Stream #1 (PID = 0x28a): ISO/IEC 13818-6 DSM-CC type B (0xb)

Stream #2 (PID = 0x28b): ISO/IEC 13818-6 DSM-CC type B (0xb)

Stream #3 (PID = 0x28c): ISO/IEC 13818-6 DSM-CC type B (0xb)

Stream #4 (PID = 0x3f5): ISO/IEC 13818-6 DSM-CC type B (0xb)

Stream #5 (PID = 0x3fd): ISO/IEC 13818-6 DSM-CC type B (0xb)

Stream #6 (PID = 0x26c): ISO/IEC 13818-2 (MPEG-2 Video) (0x2)

Stream #7 (PID = 0x26d): ISO/IEC 11172-3 (MPEG-1 Audio) (0x3)

Stream #8 (PID = 0x26f): DVB subtitles/VBI (0x6)

Stream #9 (PID = 0x26e): ISO/IEC 11172-3 (MPEG-1 Audio) (0x3)

------------------------------------------------

 

Список источников

 

1. https://www.twitch.tv/videos/100285305 - Bob Ross Anniversary video

2. https://www.twitch.tv/videos/67448396 - Mad World Improv

3. https://www.twitch.tv/videos/113582306 - Time For Rest (seebotschat)

4. http://www.serbod.com/--cc/mpeg-ts-parseranalyzer






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных