【发布时间】:2021-07-15 07:29:14
【问题描述】:
我无法解码视频文件
我有一个 FLV 格式的视频文件。有人告诉我这个视频的编码格式是HEVC,所以我尝试用ffplay播放这个视频。但是我发现原生ffplay不能播放flv格式的HEVC编码文件,于是我找了相关资料解码FLV格式的HEVC编码文件,但是这个文件还是不能播放。
以下是错误信息,内容是NAL部分分析失败
[hevc @ 0x7fba4800fc00] Invalid NAL unit size in extradata.
[flv @ 0x7fba4800f000] Could not find codec parameters for stream 0 (Video: hevc, none, 5494 kb/s): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
我尝试用ffplay播放其他FLV格式的HEVC编码视频,结果没有问题。所以我用十六进制编辑器查看无法正常播放的文件。下面是视频第一帧的数据。
000003a0: xx xx xx xx xx xx xx 09 00 00 4E 00 00 00 00 00 ..........N.....
000003b0: 00 00 1E 00 00 00 00 01 00 00 00 FF E2 00 17 40 ............b..@
000003c0: 01 0C 01 FF FF 01 00 01 00 00 B0 00 00 03 00 00 ..........0.....
000003d0: 03 00 96 1D 94 09 00 1E 42 01 01 01 00 01 00 00 ........B.......
000003e0: B0 00 00 03 00 00 03 00 96 A0 01 E0 20 02 1C 5A 0..........`...Z
000003f0: 1D 96 49 0A 40 A2 01 00 07 44 01 C0 13 18 21 20 ..I.@"...D.@..!.
我们可以看到09代表视频类型,4E代表TAG数据的长度,1C代表HEVC的关键帧,但是我无法判断后面的数据是不是HEVC编码的数据,所以我怀疑是后面的数据可能不会被 HEVC 编码。
问题
有什么方法可以根据十六进制数据检测视频的编码格式,或者谁能告诉我下面的数据是哪种视频编码格式?
非常感谢!
【问题讨论】:
-
文件是如何生成的?
-
我们为运营商提供IPTV机顶盒。他们向我们提供了这个视频。据说其他公司可以正常播放视频。