ТОР 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 Не нашли, что искали? Воспользуйтесь поиском:
|