Как извлечь видеоинформацию из файла H.264 .TS? - PullRequest
3 голосов
/ 14 февраля 2012

Есть ли какой-нибудь хороший инструмент linux / unix для получения свойств файла H264 .TS?

Мне нужна длительность, разрешение видео и битрейт, fps, разрешение аудио и битрейт.

Я пробовал mplayer -vo null -ao null -frames 0 -identify _file_, но он сообщает о неправильной ширине и высоте видео, а также сообщает, что длина файла (длительность) равна 0,00.

Ответы [ 3 ]

9 голосов
/ 06 марта 2013

Вы можете запустить mediainfo ( здесь ) и проанализировать его вывод.

mediainfo <filename> даст вам такую ​​информацию:

General
ID                                       : 2 (0x2)
Format                                   : MPEG-TS
File size                                : 915 MiB
Duration                                 : 8mn 31s
Start time                               : UTC 2009-06-09 14:15:57
End time                                 : UTC 2009-06-09 14:24:12
Overall bit rate                         : 15.0 Mbps

Video #1
ID                                       : 256 (0x100)
Menu ID                                  : 1 (0x1)
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : Main@L3.0
Format settings, CABAC                   : Yes
Format settings, ReFrames                : 4 frames
Codec ID                                 : 27
Duration                                 : 8mn 31s
Width                                    : 720 pixels
Height                                   : 576 pixels
Display aspect ratio                     : 4:3
Frame rate                               : 25.000 fps
Standard                                 : PAL
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : MBAFF
Scan order                               : Top Field First
Color primaries                          : BT.470-6 System B, BT.470-6 System G, BT.601-6 625, BT.1358 625, BT.1700 625 PAL, BT.1700 625 SECAM
Transfer characteristics                 : BT.470-6 System B, BT.470-6 System G
Matrix coefficients                      : BT.470-6 System B, BT.470-6 System G, BT.601-6 625, BT.1358 625, BT.1700 625 PAL, BT.1700 625 SECAM, IEC 61966-2-4 601

Video #2
ID                                       : 1001 (0x3E9)
Menu ID                                  : 3 (0x3)
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : Main@L3.0
Format settings, CABAC                   : Yes
Format settings, ReFrames                : 4 frames
Format settings, GOP                     : M=3, N=24
Codec ID                                 : 27
Duration                                 : 8mn 30s
Width                                    : 720 pixels
Height                                   : 576 pixels
Display aspect ratio                     : 4:3
Frame rate                               : 25.000 fps
Standard                                 : PAL
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : MBAFF
Color primaries                          : BT.470-6 System B, BT.470-6 System G, BT.601-6 625, BT.1358 625, BT.1700 625 PAL, BT.1700 625 SECAM
Transfer characteristics                 : BT.470-6 System B, BT.470-6 System G
Matrix coefficients                      : BT.470-6 System B, BT.470-6 System G, BT.601-6 625, BT.1358 625, BT.1700 625 PAL, BT.1700 625 SECAM, IEC 61966-2-4 601

Audio #1
ID                                       : 258 (0x102)
Menu ID                                  : 1 (0x1)
Format                                   : MPEG Audio
Format version                           : Version 1
Format profile                           : Layer 2
Mode                                     : Joint stereo
Mode extension                           : Intensity Stereo + MS Stereo
Codec ID                                 : 3
Duration                                 : 8mn 31s
Bit rate mode                            : Constant
Bit rate                                 : 192 Kbps
Channel(s)                               : 2 channels
Sampling rate                            : 48.0 KHz
Compression mode                         : Lossy
Stream size                              : 11.7 MiB (1%)

Audio #2
ID                                       : 1002 (0x3EA)
Menu ID                                  : 3 (0x3)
Format                                   : MPEG Audio
Format version                           : Version 1
Format profile                           : Layer 2
Codec ID                                 : 3
Duration                                 : 8mn 31s
Bit rate mode                            : Constant
Bit rate                                 : 192 Kbps
Channel(s)                               : 2 channels
Sampling rate                            : 48.0 KHz
Compression mode                         : Lossy
Delay relative to video                  : 7s 978ms
Stream size                              : 11.7 MiB (1%)

Menu #1
ID                                       : 257 (0x101)
Menu ID                                  : 1 (0x1)
Duration                                 : 8mn 31s
List                                     : 256 (0x100) (AVC) / 258 (0x102) (MPEG Audio)
Service name                             : vv
Service type                             : digital television

Menu #2
ID                                       : 1000 (0x3E8)
Menu ID                                  : 3 (0x3)
Duration                                 : 8mn 31s
List                                     : 1001 (0x3E9) (AVC) / 1002 (0x3EA) (MPEG Audio)
Service name                             : Lenni
Service type                             : digital television
1 голос
/ 24 февраля 2012

Для TS аудио и видео битрейта я написал небольшую утилиту.

Он ищет пакет PAT, затем извлекает PID PMT, затем ищет пакет PMT и извлекает PID для видео- и аудиопакетов. ПОСЛЕ того, что я могу рассчитать относительную долю аудио и видео пакетов во всем потоке.

Из общего битрейта (полученного с помощью других утилит (например, размер / длительность)), это просто умножение для получения значений ..

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

Я все еще заинтересован в любых существующих утилитах, которые могут дать мне эту информацию.

1 голос
/ 15 февраля 2012

Вы должны быть в состоянии использовать ffmpeg, чтобы получить хорошие детали закодированного видео. VLC также даст вам немного информации, но может не всю необходимую вам информацию. Вы также можете проверить это. Если вам нужна дополнительная информация, вы можете извлечь элементарные видео- и аудиопотоки из файла TS (используя утилиты bbdemux и т. Д.), А затем проанализировать видеопоток отдельно, используя анализатор Elecard Stream.

Vibgyor

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...