之前在做视频隐写相关实验时,需要频繁地使用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.0_depth.txt E:\experimental_results\video1"
os(system)cmd# 把一个目录中的所有txt文件移动到另外一个目录
=
cmd r"move D:\data\*.txt E:\experimental_results\video1" # cmd = r"move D:\data\*.bin E:\experimental_results\video1"
# cmd = r"move D:\data\*.yuv E:\experimental_results\video1"
.
os(system)cmd# 删除一个文件
=
cmd r"del D:\data.0_depth.txt" (
os)system# 循环删除编码信息cmdfor
in
range i ( 20):=r"del D:\data\%03_depth.txt"
cmd % . ( i
os)systemcmd
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)