Ve skriptu se předpokládá (je nastaveno), že *.mov videa jsou uložena v adresáři "/home/USER/mov-videa" a zkonvertované *.mp4 soubory jsou v podadresářích hq20 a llm20. Přípony souborů jsou pak .hq20.mp4 a .llm20.mp4.
==================
#!/bin/env pythonimport os
from os.path import join, isfile, dirname, basename
# NASTAVENI
PATH = "/home/USER/mov-videa"
CNVRTS = [] # sady parametru pro jednotlive konverze
cnvrt = {}
cnvrt['path'] = join(PATH, "hq20")
cnvrt['ext'] = '.hq20.mp4'
cnvrt['cmd'] = "ffmpeg -i '%s' \
-acodec libfaac -ac 2 -ab 192k \
-vcodec libx264 -vpre libx264-hq -crf 20 \
-threads 0 '%s'"
CNVRTS.append(cnvrt)
cnvrt = {}
cnvrt['path'] = join(PATH, "llm20")
cnvrt['ext'] = '.llm20.mp4'
cnvrt['cmd'] = "ffmpeg -i '%s' \
-acodec libfaac -ac 2 -ab 192k \
-vcodec libx264 -vpre libx264-lossless_max -crf 20 \
-threads 0 '%s'"
CNVRTS.append(cnvrt)
# FUNKCE
def getExtFiles(path, ext):
""" Vraci seznam souboru s uvedenou priponou. """
movFiles = []
allFiles = os.listdir(path)
for filename in allFiles:
if not isfile(join(path, filename)):
continue
if filename.lower()[-len(ext):] != ext:
continue
movFiles.append(join(path, filename))
return movFiles
def main():
movFiles = getExtFiles(PATH, '.mov')
cmds = []
for cnvrt in CNVRTS:
newFiles = []
print "\n-- Seznam " + cnvrt['ext'] + " souboru, ktere se budou vytvaret:"
mp4Files = getExtFiles(cnvrt['path'], '.mp4')
# vytvoreni seznamu souboru, ktere jeste neexistuji
for movFile in movFiles:
newFile = join(cnvrt['path'], basename(movFile) + cnvrt['ext'])
if not newFile in mp4Files:
newFiles.append([movFile, newFile])
# vytvoreni seznamu prikazu pro vytvoreni novych souboru
for newFile in newFiles:
cmd = cnvrt['cmd']%(newFile[0], newFile[1])
cmds.append(cmd)
print newFile[1]
# postupne spusteni jednotlivych prikazu
for cmd in cmds:
pass
os.system(cmd)
# START PROGRAMU
main()
Žádné komentáře:
Okomentovat