之前在做视频隐写相关实验时,需要频繁地使用HM编码器,每次都是手工打开HM编码,一个一个视频序列地去编码,非常的耗时费力。
后来实在受不了了,就把HM编码器多复制了几个,同时运行3~4个HM编码器一起编码。虽然可以同时得到多个ori.YUV,但还是得手工去操作,人得蹲着看,时间久了还是很累。
最近,在写博客时认识的一位学长教了一种自动化运行的方法,通过编写.bat文件(不推荐?)或者使用python编写自动化代码(推荐?)来实现: 1、在HM编码器的bin文件夹下,一直点进去,会有一个Release文件夹,里面会有TAppDecoder.exe和TAppEncoder.exe,这个就是你HM的两个编解码器; (注:HM的编码模式一定要选择Release模式,不要选Debug模式!Debug模式编码速度太慢了!) 2、在python中编写编码时的自动化代码:
import os
cmd = r"TAppEncoder.exe -c bitstream.cfg -c encoder_intra_main.cfg"
os.system(cmd)
这样就可以通过python来调用你编写好的HM编码器了,接下来就用一些简单的循环语句,一直来编码测试序列就好咯~
3、关于解码的代码:
import os
cmd = r"TAppDecoder.exe -b input.bin -o output.yuv"
os.system(cmd)
4、一些其他的dos命令:
import os
cmd = r"move D:\data\000_depth.txt E:\experimental_results\video1"
os.system(cmd)
cmd = r"move D:\data\*.txt E:\experimental_results\video1"
os.system(cmd)
cmd = r"del D:\data\000_depth.txt"
os.system(cmd)
for i in range(20):
cmd = r"del D:\data\%03_depth.txt" % i
os.system(cmd)
|