Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Video 使用ffmpeg解码基本HEVC流_Video_Ffmpeg_Multimedia_Hevc - Fatal编程技术网

Video 使用ffmpeg解码基本HEVC流

Video 使用ffmpeg解码基本HEVC流,video,ffmpeg,multimedia,hevc,Video,Ffmpeg,Multimedia,Hevc,我已经成功地从源代码编译并安装了FFMPEG_2.1。我知道2.1版以后的ffmpeg支持HEVC解码器。我使用HM 10.0和HM 11.0HEVC参考代码生成了一个.bin文件 然而,当我将这个bin文件作为ffmpeg的输入时,我得到了一个输入/输出错误 我使用的命令如下所示: ffmpeg -i Johnny_1280x720_60qp22.bin out.yuv 上述命令的输出如下图所示: ffmpeg version 2.1 Copyright (c) 2000-2013 the

我已经成功地从源代码编译并安装了
FFMPEG_2.1
。我知道2.1版以后的ffmpeg支持HEVC解码器。我使用
HM 10.0
HM 11.0
HEVC参考代码生成了一个
.bin
文件

然而,当我将这个bin文件作为ffmpeg的输入时,我得到了一个输入/输出错误

我使用的命令如下所示:

ffmpeg -i Johnny_1280x720_60qp22.bin out.yuv
上述命令的输出如下图所示:

ffmpeg version 2.1 Copyright (c) 2000-2013 the FFmpeg developers
  built on Nov 21 2013 15:52:14 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
  configuration: 
  libavutil      52. 48.100 / 52. 48.100
  libavcodec     55. 39.100 / 55. 39.100
  libavformat    55. 19.104 / 55. 19.104
  libavdevice    55.  5.100 / 55.  5.100
  libavfilter     3. 90.100 /  3. 90.100
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
Input #0, bin, from 'Johnny_1280x720_60qp22.bin':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: bintext, pal8, 1280x118288, 25 tbr, 25 tbn, 25 tbc
Output #0, rawvideo, to 'out.yuv':
  Metadata:
    encoder         : Lavf55.19.104
    Stream #0:0: Video: rawvideo, pal8, 1280x118288, q=2-31, 200 kb/s, 90k tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (bintext -> rawvideo)
Press [q] to stop, [?] for help
Johnny_1280x720_60qp22.bin: Input/output error
frame=    1 fps=0.3 q=0.0 size=  147861kB time=00:00:00.04 bitrate=30281932.8kbiframe=    1 fps=0.3 q=0.0 Lsize=  147861kB time=00:00:00.04 bitrate=30281932.8kbits/s    
video:147861kB audio:0kB subtitle:0 global headers:0kB muxing overhead 0.000000

有人能告诉我为什么我要面对这个问题,以及如何纠正它。

这是我得到的使用HM 12.1编码的hevc序列的输出

$ ./ffmpeg -i kimono_hevc.bin out.yuv
ffmpeg version N-58122-g7cd555d Copyright (c) 2000-2013 the FFmpeg developers
  built on Nov 16 2013 20:40:03 with gcc 4.7 (Ubuntu/Linaro 4.7.3-1ubuntu1)
  configuration: --enable-libx264 --enable-gpl --enable-libmp3lame
  libavutil      52. 53.100 / 52. 53.100
  libavcodec     55. 43.100 / 55. 43.100
  libavformat    55. 21.100 / 55. 21.100
  libavdevice    55.  5.100 / 55.  5.100
  libavfilter     3. 91.100 /  3. 91.100
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
  libpostproc    52.  3.100 / 52.  3.100
Input #0, hevc, from 'kimono_hevc.bin':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: hevc, yuv420p(tv), 1920x1080, 25 tbr, 1200k tbn, 25 tbc
Output #0, rawvideo, to 'out.yuv':
  Metadata:
    encoder         : Lavf55.21.100
    Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 1920x1080, q=2-31, 200 kb/s, 90k tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (hevc -> rawvideo)
Press [q] to stop, [?] for help
frame=    1 fps=0.0 q=0.0 Lsize=    3038kB time=00:00:00.04 bitrate=622080.0kbits/s    
video:3038kB audio:0kB subtitle:0 global headers:0kB muxing overhead 0.000000%
注意,在我的示例中,我得到

Stream #0:0: Video: hevc, yuv420p(tv)
当你得到:

Stream #0:0: Video: bintext, pal8,
HM10是旧的,NAL结构也发生了变化。有没有理由不使用最新版本


要下载最新的hevc参考代码以及如何编译它,请参阅我的帖子@

谢谢回复。然后我将尝试HM12.0本身。最后一件事,我需要在HM 12.0的配置文件中做什么具体的更改?