Apakah "ekstensi yang sesuai" itu? Anda dapat menggunakan Matroska (.mka) atau mungkin NUT (.nut) dengan sebagian besar format audio, tapi saya ragu itulah yang Anda inginkan.
llogan
Jawaban:
0
Alasan ini bukan pilihan sederhana dalam ffmpeg adalah karena Anda perlu cara untuk memutuskan wadah apa yang akan digunakan untuk output.
Jika Anda menentukan ekstensi file mana yang akan digunakan untuk setiap codec, dan menamai file dengan ekstensi itu, ffmpeg akan menulis file output di wadah yang tepat untuk Anda. Cara (sayangnya) paling sederhana untuk melakukan ini yang dapat saya pikirkan adalah skrip Python 2:
import re
import subprocess
import sys
EXTENSIONS_BY_CODEC = {'mp3': '.mp3', 'aac': '.m4a'}
# Add more codecs as desired
_, infile, outfile = sys.argv
_, detect_data = subprocess.Popen(('ffmpeg', '-i', infile),
stderr=subprocess.PIPE).communicate()
codec = re.search(r'Audio: ([^,]+),', detect_data).group(1)
if codec in EXTENSIONS_BY_CODEC:
sys.exit(subprocess.call(('ffmpeg', '-i', infile, '-acodec', 'copy', '-vn',
outfile + EXTENSIONS_BY_CODEC[codec])))
else:
print >>sys.stderr, 'Extension not found for codec:', codec
sys.exit(2)
Jawaban:
Alasan ini bukan pilihan sederhana dalam ffmpeg adalah karena Anda perlu cara untuk memutuskan wadah apa yang akan digunakan untuk output.
Jika Anda menentukan ekstensi file mana yang akan digunakan untuk setiap codec, dan menamai file dengan ekstensi itu, ffmpeg akan menulis file output di wadah yang tepat untuk Anda. Cara (sayangnya) paling sederhana untuk melakukan ini yang dapat saya pikirkan adalah skrip Python 2:
sumber
lihat handbrake, gui untuk ffmpeg dengan output commandline (dan command) (jika Anda ingin mem-port-nya ke suatu skrip)
sumber