【问题标题】:I can’t play HEVC encoded Flv format video files with ffplay我不能用 ffplay 播放 HEVC 编码的 Flv 格式的视频文件
【发布时间】: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 编码。

问题

有什么方法可以根据十六进制数据检测视频的编码格式,或者谁能告诉我下面的数据是哪种视频编码格式?

非常感谢!

【问题讨论】:

标签: video ffmpeg hevc


【解决方案1】:

这样试试

sudo apt-get update -qq && sudo apt-get -y install autoconf automake   build-essential cmake git-core libass-dev libfreetype6-dev libgnutls28-dev libsdl2-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev meson ninja-build pkg-config texinfo wget yasm zlib1g-dev libx265-dev

git clone https://github.com/ksvc/FFmpeg.git
git reset --hard origin/release/3.4

./configure --enable-static --enable-pic --disable-encoders --enable-encoder=aac --enable-encoder=libx264 --enable-gpl --enable-libx264 --enable-encoder=libx265  --enable-libx265 --disable-decoders --enable-decoder=aac --enable-decoder=h264 --enable-decoder=hevc --disable-demuxers --enable-demuxer=aac --enable-demuxer=mov --enable-demuxer=mpegts --enable-demuxer=flv --enable-demuxer=h264 --enable-demuxer=hevc --enable-demuxer=hls --disable-muxers --enable-muxer=h264 --enable-muxer=flv --enable-muxer=f4v  --enable-muxer=mp4 --disable-doc

make -j8

./ffplay video.flv

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-05
    • 1970-01-01
    相关资源
    最近更新 更多