나는 모두 같은 방식으로 만들어진 여러 개의 MKV 파일을 가지고 있습니다.
- 비디오 트랙 1개
- 오디오 트랙 1은 영어입니다
- 오디오 트랙 2는 독일어입니다.
이제 독일어가 트랙 1이고 영어가 트랙 2가 되도록 오디오 트랙 순서를 변경하고 싶습니다. 폴더에 있는 모든 MKV 파일에 대해 어떻게 이를 달성할 수 있습니까?
답변1
제발아니다mkvpropedit
허용된 답변과 같이 트랙을 주문하는 데 사용합니다 . 이것은아니다와는 다르게 제대로 주문하세요 mkvmerge
.
StreamOrder
MediaInfo와 같은 도구를 사용하여 비디오를 검사하면 및 필드가 있는 것을 볼 수 있습니다 ID
.
내 경험에 따르면(어려운 방법으로 배웠습니다 ID
) mkvpropedit
. 이는 를 변경하지 않으므로 StreamOrder
MKVToolnix도 트랙을 주문한 것으로 인식하지 않습니다.
대신 다음과 같이 mkvmerge
를 지정할 수 있는 곳을 사용하세요 --track-order
.
mkvmerge --output "your_file (1).mkv" "(" "your_file.mkv" ")" --track-order 0:0,0:2,0:1
0:0
비디오 트랙을 나타내는 곳 0:2
은 독일어 트랙이고 0:1
영어 트랙입니다.
이것이 미래의 독자들에게 도움이 되기를 바랍니다.
답변2
솔루션을 찾았고 패키지 mkvmerge
에서 다음 스크립트를 빌드했습니다 mkvtoolnix
.
#!/bin/bash
for f in *.mkv
do
mkvpropedit -v "$f" --edit track:2 --set track-number=3 --edit track:3 --set track-number=2
done
이는 폴더의 모든 mkv 파일을 반복합니다(모두 동일한 방식으로 빌드되었으며 동일한 방식으로 편집해야 한다고 가정). 일반적으로 첫 번째 트랙은 비디오 트랙이므로 두 번째 트랙을 세 번째( --edit track:2 --set track-number=3
)로, 세 번째 트랙을 두 번째( --edit track:3 --set track-number=2
)로 변경합니다.
답변3
이는 다음과 같은 프로그램을 사용하여 수행할 수 있습니다.MKVToolNix
3개의 오디오 스트림이 로드된 MKV 예제 파일:
이 예에서 볼 수 있듯이. 3개의 오디오 스트림이 있습니다. TrueHD, DTS-HD, AC-3 이는 영어, 독일어 상황과 동일합니다.
독일 오디오 스트림을 맨 위로 드래그하기만 하면 됩니다. 예시로 AC-3를 최상위 스트림으로 이동하겠습니다.
하지만 이 모든 작업은 AC-3를 오디오 순서의 맨 위로 이동하는 것뿐입니다... 하지만 TrueHD Atmos는 여전히 파일이 시작될 때 재생되는 기본 트랙이라는 것을 알 수 있습니다.
AC-3(또는 상황에 따라 독일어)을 기본 오디오 스트림으로 만들려면 독일어 트랙을 클릭하고 오른쪽 속성 설정 아래에서기본 트랙다음으로 플래그 지정예
모든 작업이 끝나면 다음을 누르세요.멀티플렉싱을 시작합니다.이렇게 하면 새로 조정한 내용이 포함된 새로운 파일이 생성됩니다. 그런 다음 이전 파일을 삭제할 수 있습니다.
답변4
트랙을 새 파일로 다시 병합하지 않고는 mkv 파일 내의 트랙 순서를 변경할 수 없습니다. 최근에 똑같은 문제가 발생하여 해결책을 찾았습니다. 선택한 폴더의 모든 mkv 파일을 처리하고 재정렬된 오디오 트랙이 포함된 동일한 이름의 새 mkv 파일을 새 위치에 출력하는 오디오 트랙을 재정렬하는 배치 파일을 만들었습니다. Windows용 MKVToolNix 키트(최신 버전)의 mkvmerge.exe를 사용합니다. 그리고 mkvproedit를 사용하여 플래그와 속성을 변경하는 것에 비해 트랙을 다시 병합하는 데 시간이 좀 걸립니다. 여전히 관심이 있으시면 알려주세요.