我使用的是可扩展HEVC参考软件(SHM 12.2
)。
我使用以下脚本对视频进行两层编码:
/home/Experiments/Zinon/SHM-12.2/bin/TAppEncoderStatic -c
cfg/encoder_randomaccess_scalable.cfg -c cfg/per-sequence-svc/C_L-1.5x.cfg
-c cfg/layers.cfg -b str/C_L.bin -o0 rec/C_L_l0_rec.yuv -o1 rec/C_L_l1_rec.yuv
在可扩展的H.264中,使用比特流提取器“BitStreamExtractorStatic”
,我可以提取AVC或SVC流的子流。
您是否知道可扩展HEVC中是否存在类似的比特流提取器?因为在SHM
中没有任何。
在SHM/source/App/utils/ExtractAddLS/
中,有一个包含以下文本的文本文件。在任何情况下,我都找不到ExtractAddLS
的可执行文件,只能找到一个c文件。
这个工具要么:
或
该工具的调用如下:
ExtractAddLS <infile> <outfile> <Max temporal ID> <layer IDs of the extracted layers>
根据图层ID列表中给出的ID数决定调用的进程。如果仅给出一个层ID,则调用独立的非基础层重写过程。如果给出了多个层ID,则调用其他层集的子位流提取。
独立的非基本层重写过程的结果可以用符合HEVC / H.265 v1的解码器解码,只要提取的独立层符合v1规范文本即可。该工具在重写期间从输出比特流中移除VPS,因此HEVC / H.265解码器不应期望它存在。
答案 0 :(得分:0)
经过数月的搜索,我意识到SHM
解码器只需添加参数即可提取所请求的图层。例如:
TAppDecoderStatic -b str/pirkagia_10b_lowdelay_P.bin -olsidx 0 -o0 /yuv/pirkagia_10b_lowdelay_P_level_0_dec.yuv >> /txt/pirkagia_10b_lowdelay_P_level_0_dec.txt
使用参数-olsidx
,我们可以选择要解码的输出图层集的索引。