Sziasztok!
Valaki tudna nekem segíteni tömeges Ffmpeg meghajtásban Python3-mal?
Több ötletem is van, de nem tudom melyikkel induljak neki.
Első ez a wrapper, de nem tudom működésre bírni és senki nem tudja a megoldást a GitHubon se:
https://github.com/kkroening/ffmpeg-python/issues/179
Második:
Hagyjam a Wrappert- és sima argumentumokkal hajtsam meg a Python szkriptet?
Köszi!
- 781 megtekintés
Hozzászólások
Én hagynám a wrapper-t. Jó lehet a 'subprocess' modul és a 'multiprocessing" is. De mit jelent a "tömeges" meghajtás?
--
eutlantis
- A hozzászóláshoz be kell jelentkezni
Egy könyvtárban mondjuk van 30 file, és egymás után kellene őket feldolgoznom.
- A hozzászóláshoz be kell jelentkezni
Például:
#!/usr/bin/env python3
#-*- coding:utf-8 -*-
import subprocess as subp, pathlib as pt
files= list(pt.Path("mkv_könyvtár").glob("*.mkv"))
for ff in files:
finp= str(ff)
fout= ff.stem+"conv.mkv"
proc=subp.Popen(f"ffmpeg -i {finp} -map 0 -vcodec copy -scodec copy -acodec ac3 {fout}",shell=True)
proc.wait() # itt meg lehet adni timeout-ot is
print(proc.returncode)
Még beletettem a wait()-et is, hogy ne egyszerre induljon mind a 30 konverzió, hanem egymás után.
(Nem teszteltem:-)
--
eutlantis
- A hozzászóláshoz be kell jelentkezni
Köszi szépen!
- A hozzászóláshoz be kell jelentkezni
Megj.: A list() felesleges, mert a ...glob() egy generátort ad vissza.
--
eutlantis
- A hozzászóláshoz be kell jelentkezni
Inkább készíts egy Makefile-t, az pont erre való.
- A hozzászóláshoz be kell jelentkezni
Mindenkepp Pythonnal akarod? Parallel pont arra valo, hogy sok file-on vegezz hatekonyan, tobb szalon muveletet.
--
When you tear out a man's tongue, you are not proving him a liar, you're only telling the world that you fear what he might say. -George R.R. Martin
- A hozzászóláshoz be kell jelentkezni