Linux 기반 시스템에서 MKV의 첫 번째 오디오 스트림과 두 번째 오디오 스트림을 어떻게 교환합니까?


10

플렉스를 사용하고 있습니다. Plex는 Roku의 기본 오디오 스트림을 무시하고 대신 첫 번째 오디오 스트림을 사용하는 것 같습니다. 이것은 mkvpropedit를 사용하여 테스트 한 것입니다.

Plex는 현재 LAN 외부의 클라이언트에서 오디오 소스 변경을 지원하지 않기 때문에 현재 두 번째 오디오 소스가 첫 번째 파일이되도록 일부 파일을 변경하고 싶습니다.

Ubuntu와 같은 Linux 기반 시스템에서 MKV의 오디오 스트림을 바꾸는 가장 좋은 방법은 무엇입니까?

답변:


14

FFmpeg을 사용하면 다소 단순해야합니다. 다운로드 페이지에서 정적 빌드를 다운로드하고 아주 오래된 Ubuntu 저장소 버전을 사용하지 마십시오.

명령은 다음과 같습니다.

ffmpeg -i input.mkv -map 0:v:0 -map 0:a:1 -map 0:a:0 -c copy output.mkv

무엇을 하는가 -map:

  • 콜론 앞의 첫 번째 부분은 입력 ID입니다. 입력이 하나뿐이므로 0입니다.
  • 두 번째 부분은 스트림 유형, 이데 오 v또는 udio를 지정합니다 a. 이것은 선택 사항이지만 비디오 및 오디오 스트림이 올바르게 다중화되지 않은 경우 항상 유형을 지정하는 것이 좋습니다.
  • 세 번째 부분은 입력 스트림의 ID입니다. 0첫 번째, 1두 번째, 즉 첫 번째 비디오 스트림과 두 번째 및 첫 번째 오디오 스트림입니다
  • 의 순서 -map옵션은 출력 파일 스트림의 순서를 결정한다.

즉, 비디오 비트 스트림을 첫 번째 스트림으로 남겨두고 두 번째 오디오 스트림을 가져온 다음 첫 번째 스트림을 가져옵니다. 본질적으로 오디오 스트림을 교체합니다.

-c copy옵션을 사용하면 비트 스트림이 복사되고 다시 인코딩되지 않습니다.

옵션 사용 방법-map대한 몇 가지 예 는 FFmpeg Wiki에서 찾을 수 있습니다.


입력이 하나만있는 경우 실제로 입력 ID를 생략 할 수 있습니다 -map v:0 -map a:1 -map a:0.
디저트

7

mkvtool을 사용하면 시간 낭비를 피하고 다시 포장하고 다시 인코딩 할 수 있습니다.

mkvpropedit -v movie.mkv -v --edit track:2 --set track-number=3 --edit track:3 --set track-number=2

이것은 스트림을 교환하기에 충분해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.