def page_transcode_inode(p_submit, p_inode, p_trnscd_cmd_method, p_trnscd_rez):
"""scan the downloaded list of files and transcode any whose inode matches
one in the list"""
print 'transcoding files with inode %s\n<br />' % (p_inode, )
if p_submit == '' or p_submit != 'Transcode' or p_trnscd_cmd_method == '':
print '<p>Confirm transcode options:</p>'
print '<form method="get" action="">'
print '<select name="trnscd_cmd_method">\n'
print ' <option value="trnscd_cmd_video">%s</option>' % (my_settings.get(SETTINGS_SECTION, 'trnscd_cmd_video'), )
print ' <option value="trnscd_cmd_audio">%s</option>' % (my_settings.get(SETTINGS_SECTION, 'trnscd_cmd_audio'), )
print '</select>\n<br />'
print_select_resolution()
print '<br />'
print '<input type="hidden" name="inode" value="%s">' % (p_inode, )
print '<input type="hidden" name="page" value="transcode_inode">'
print '<input type="submit" name="submit" value="Transcode">'
print '</form>'
else:
file_list = os.listdir(my_settings.get(SETTINGS_SECTION, 'iplayer_directory'))
for file_name in sorted(file_list):
full_file_name = os.path.join(my_settings.get(SETTINGS_SECTION, 'iplayer_directory'), file_name)
file_root, file_extension = os.path.splitext(full_file_name)
file_root = file_root.replace('original', 'transcoded')
file_root = file_root.replace('default', 'transcoded')
file_root = file_root.replace('editorial', 'transcoded')
file_stat = os.stat(full_file_name)
#print 'considering file %s which has inode %d\n<br >' % (full_file_name, file_stat[stat.ST_INO], )
if str(file_stat[stat.ST_INO]) == p_inode:
rezopts = ''
fnameadd = ''
if p_trnscd_rez != '' and p_trnscd_rez != 'original':
rezopts = ' -s %s' % (p_trnscd_rez, )
fnameadd = '-%s' % (p_trnscd_rez, )
#full_file_mp4 = '%s.mp4' % ( os.path.splitext(full_file_name)[0], )
cmd = "%s %s %s %s%s.%s 2>&1" % (my_settings.get(SETTINGS_SECTION, p_trnscd_cmd_method), rezopts, full_file_name, file_root, fnameadd, TRANSCODE_COMMANDS[p_trnscd_cmd_method]['outext'], )
#print 'file %s is being transcoded with command %s\n<br ><pre>\n' % (full_file_name, cmd, )
print 'file transcoding<pre>\n%s\n' % (cmd, )
sys.stdout.flush()
sys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 0) # capture stdout
sys.stderr = os.fdopen(sys.stderr.fileno(), 'w', 0) # and stderr
os.system(cmd)
print '</pre>'
print '<p>Finished!</p>'
#####################################################################################################################
评论列表
文章目录