Mantenha os codecs de entrada

1

Eu tenho um arquivo MKV com vídeo H.264 e áudio AAC. Com o FFmpeg, o codec de áudio padrão para MKV é AC3, portanto, 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 tudo está 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 copy não funcionará porque estou fazendo uma alteração no fluxo de áudio.

    
por Steven Penny 04.03.2014 / 18:47

1 resposta

2

Não existe essa opção, tanto quanto eu sei. 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 no FFmpeg Bug Tracker (pesquise primeiro para ver se já existe um).

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 seu ffmpeg build suportasse libvorbis, ele usaria isso em vez de ac3 para saídas mkv.

ffprobe pode 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 ser de utilidade limitada, pois codec_name pode não ser o mesmo nome do codificador que você deseja.

    
por 04.03.2014 / 19:54

Tags