Manter codecs de entrada

Manter codecs de entrada

Tenho um arquivo MKV com vídeo H.264 e áudio AAC. Com o FFmpeg, o codec de áudio padrão para MKV é AC3, então se você executar um comando como

ffmpeg -i infile.mkv -ac 2 outfile.mkv

ele transcodificará o áudio para AC3. Eu posso executar este comando e está tudo bem

ffmpeg -i infile.mkv -ac 2 -c:a libfdk_aac outfile.mkv

No entanto, existe uma maneira de dizer "usar o codec de entrada"? Observe que isso copynão funcionará porque estou fazendo uma alteração no fluxo de áudio.

Responder1

Até onde eu sei, não existe essa opção. Você terá que ser explícito, confiar nos padrões ou executar scripts adicionais.

Se você acredita que isso deve ser implementado como um recurso, você pode criar uma solicitação de recurso noRastreador de bugs FFmpeg(pesquise primeiro para ver se já existe).

Observe que o codificador padrão para o formato do contêiner de saída pode mudar dependendo das bibliotecas de codificação externas suportadas. Por exemplo, se sua ffmpegcompilação suportasse libvorbis, ele usaria isso em vez de ac3 para saídas mkv.

ffprobepode ajudar:

$ ffprobe -v 0 -of flat=s=_ -select_streams a:0 -show_entries stream=codec_name input.mkv
streams_stream_0_codec_name="aac"

É claro que isso pode ter utilidade limitada, pois codec_namepode não ser o mesmo nome do codificador que você deseja.

informação relacionada