입력 코덱 유지

입력 코덱 유지

H.264 비디오와 AAC 오디오가 포함된 MKV 파일이 있습니다. FFmpeg를 사용하면 MKV의 기본 오디오 코덱은 AC3이므로 다음과 같은 명령을 실행하면

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

오디오를 AC3으로 트랜스코딩합니다. 이 명령을 실행할 수 있으며 모든 것이 정상입니다.

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

그러나 "입력 코덱을 사용하십시오"라고 말할 수 있는 방법이 있습니까? copy오디오 스트림을 변경하고 있기 때문에 작동하지 않습니다 .

답변1

내가 아는 한 그러한 옵션은 없습니다. 명시적으로 설명하거나 기본값을 따르거나 추가 스크립팅을 수행해야 합니다.

이것이 기능으로 구현되어야 한다고 생각하는 경우 다음에서 기능 요청을 생성할 수 있습니다.FFmpeg 버그 추적기(이미 존재하는지 먼저 검색해 보세요.)

출력 컨테이너 형식의 기본 인코더는 지원되는 외부 인코딩 라이브러리에 따라 변경될 수 있습니다. 예를 들어 ffmpeg빌드가 libvorbis를 지원하는 경우 mkv 출력에 ac3 대신 libvorbis를 사용합니다.

ffprobe도움이 될 수 있습니다:

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

물론 이는 codec_name원하는 인코더의 이름과 동일하지 않을 수 있으므로 유용성이 제한될 수 있습니다.

관련 정보