Hello,

I have some problems with the scripting of Avidemux which is now Python based using tinypy

I am using Avidemux 2.6.8 because 2.5 is crashing systematically with H264

As the documentation is weak, I am using the following references :
http://www.avidemux.org/admWiki/doku.php?id=tinypy:gui
http://hamaluik.com/posts/changing-t...with-avidemux/

I have written the following script (I am not proficient in Python so all comments are welcome) but I am getting Exception _tp_list_set) KeyError

I do not understand. Does anybody have an idea ?

Thanks

Phil



Code:
#PY  <- needed to identify #
# Simple script that scans the srcDir directory
# and loads all .xyz files and encodes them to x264 AAC MP4
# The resulting file is put in destDir directory
 
adm = Avidemux()
gui = Gui()

ext="ts"
gui.displayInfo("Pick any source directory ")
 
# pop up a dialog asking for a source directory
inputFolder = gui.dirSelect("Select the source directory")
 
gui.displayInfo("Pick any destination directory ")
 
# pop up a dialog asking for a destination directory
dstDir = gui.dirSelect("Select the destination directory")

# gest the list of ts files in the source directory
filelist = get_folder_content(inputFolder, ext)

# make sure we have at least one file to convert
if(filelist is None):
    gui.displayError("Error", "No files")
    raise
    quit()

def processfile(filename):
  adm.loadVideo(filename)
  adm.videoCodec("x264", "useAdvancedConfiguration=True", "general.params=AQ=20", "general.threads=99", "general.preset=", "general.tuning=", "general.profile=", "general.fast_decode=False", "general.zero_latency=False", "general.fast_first_pass=True", "level=-1", "vui.sar_height=1", "vui.sar_width=1", "MaxRefFrames=3", "MinIdr=25", "MaxIdr=250", "i_scenecut_threshold=40", "intra_refresh=False", "MaxBFrame=3", "i_bframe_adaptive=1", "i_bframe_bias=0", "i_bframe_pyramid=2"
, "b_deblocking_filter=True", "i_deblocking_filter_alphac0=0", "i_deblocking_filter_beta=0", "cabac=True", "interlaced=False", "constrained_intra=False", "tff=True", "fake_interlaced=False", "analyze.b_8x8=True", "analyze.b_i4x4=True", "analyze.b_i8x8=True", "analyze.b_p8x8=True", "analyze.b_p16x16=False", "analyze.b_b16x16=False", "analyze.weighted_pred=2", "analyze.weighted_bipred=True", "analyze.direct_mv_pred=1", "analyze.chroma_offset=0", "analyze.me_method=1", "analyze.me_range=16"
, "analyze.mv_range=-1", "analyze.mv_range_thread=-1", "analyze.subpel_refine=7", "analyze.chroma_me=True", "analyze.mixed_references=True", "analyze.trellis=1", "analyze.psy_rd=1.000000", "analyze.psy_trellis=0.000000", "analyze.fast_pskip=True", "analyze.dct_decimate=True", "analyze.noise_reduction=0", "analyze.psy=True", "analyze.intra_luma=11", "analyze.inter_luma=21", "ratecontrol.rc_method=0", "ratecontrol.qp_constant=0", "ratecontrol.qp_min=10", "ratecontrol.qp_max=51", "ratecontrol.qp_step=4", "ratecontrol.bitrate=0"
, "ratecontrol.rate_tolerance=1.000000", "ratecontrol.vbv_max_bitrate=0", "ratecontrol.vbv_buffer_size=0", "ratecontrol.vbv_buffer_init=0", "ratecontrol.ip_factor=1.400000", "ratecontrol.pb_factor=1.300000", "ratecontrol.aq_mode=1", "ratecontrol.aq_strength=1.000000", "ratecontrol.mb_tree=True", "ratecontrol.lookahead=40");
  adm.audioCodec(0, "LavAAC");
  adm.setContainer("MP4", "muxerType=0", "useAlternateMp3Tag=True");
  adm.save(dstDir+filename+".mp4")
        
for file in filelist:
  processfile(file)
  
gui.displayInfo("Encoding","Encoding done")