Quelle est l'extension "appropriée"? Vous pouvez utiliser Matroska (.mka) ou NUT (.nut) avec la plupart des formats audio, mais je doute que ce soit ce que vous souhaitiez.
llogan
Réponses:
0
La raison pour laquelle ce n'est pas une option simple dans ffmpeg est parce que vous avez besoin d'un moyen de décider quel conteneur utiliser pour la sortie.
Si vous avez déterminé quelle extension de fichier utiliser pour chaque codec et si vous avez nommé le fichier avec cette extension, ffmpeg écrira le fichier de sortie dans le conteneur approprié pour vous. La façon (malheureusement) la plus simple de le faire, à laquelle je peux penser, est un script 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)
Réponses:
La raison pour laquelle ce n'est pas une option simple dans ffmpeg est parce que vous avez besoin d'un moyen de décider quel conteneur utiliser pour la sortie.
Si vous avez déterminé quelle extension de fichier utiliser pour chaque codec et si vous avez nommé le fichier avec cette extension, ffmpeg écrira le fichier de sortie dans le conteneur approprié pour vous. La façon (malheureusement) la plus simple de le faire, à laquelle je peux penser, est un script Python 2:
la source
jetez un oeil à handbrake, gui pour ffmpeg avec la sortie en ligne de commande (et commande) (si vous voulez le porter sur un script quelconque)
la source