Tengo un archivo MKV con vídeo H.264 y audio AAC. Con FFmpeg, el códec de audio predeterminado para MKV es AC3, por lo que si ejecuta un comando como
ffmpeg -i infile.mkv -ac 2 outfile.mkv
transcodificará el audio a AC3. Puedo ejecutar este comando y todo está bien.
ffmpeg -i infile.mkv -ac 2 -c:a libfdk_aac outfile.mkv
Sin embargo, ¿hay alguna forma disponible para decir "usar el códec de entrada"? Tenga en cuenta que eso copy
no funcionará porque estoy realizando un cambio en la transmisión de audio.
Respuesta1
Hasta donde yo sé, no existe esa opción. Tendrá que ser explícito, confiar en los valores predeterminados o realizar secuencias de comandos adicionales.
Si cree que esto debería implementarse como una característica, puede crear una solicitud de característica en elRastreador de errores de FFmpeg(busque primero para ver si ya existe uno).
Tenga en cuenta que el codificador predeterminado para el formato de su contenedor de salida puede cambiar según las bibliotecas de codificación externas compatibles. Por ejemplo, si su ffmpeg
compilación admitiera libvorbis, lo usaría en lugar de ac3 para las salidas mkv.
ffprobe
puede ayudar:
$ ffprobe -v 0 -of flat=s=_ -select_streams a:0 -show_entries stream=codec_name input.mkv
streams_stream_0_codec_name="aac"
Por supuesto, esto puede tener una utilidad limitada ya que codec_name
puede que no sea el mismo nombre del codificador que desea.