그래서 나는 이것에 대한 답을 찾기 위해 많은 것을 찾아 낼 수있었습니다. 비슷한 사례를 찾지 만 실제로 내가하려는 일에 대한 답변을 찾을 수 없습니다.
특히이 두 가지 스레드를 살펴 보았습니다.
또한 Google은 아무런 도움이되지 않는 많은 man 페이지를 읽었습니다. (대답이 거기에 없다는 것을 의미하지 않는다, 나는 단지 그들을 찾을 수 없었다!)
어쨌든, 그 서문과 함께, 내가하려고하는 것은 다음과 같습니다.
나는 이것에 3 개의 폴더 (그리고 10 억 개의 파일)를 가지고있다.
- 쇼 이름 - S ## E ## - Title.mp4
- 쇼 이름 - S ## E ## - Title.eng.srt
모든 .mp4 및 .srt를 병합하려고합니다. Show Name - S##E## - Title.mkv
자막은 파일에 포함되어 있습니다.
제가 연결된 첫 번째 관련 스레드의 문제점은 .mp4를 .mkv로 바꾸고 자막을 전혀 병합하지 않는다는 것입니다.
암호:
FOR %%A IN (*.mp4) DO "C:\Program Files\MKVToolNix\mkvmerge.exe" -o "%%~nA.mkv" "%%~A"
이 창조하다 .mkv 파일이지만 자막은 포함되지 않습니다. 추가하려고하면 "%%~dpnA.srt"
또는 이후의 모든 것 "%%~A"
나는 다음과 같은 메시지를 받는다 : Error: The file 'C:\Users\xnaas\Desktop\test\Show Name - S##E## - Title.srt' could not be opened for reading: open file error.
유사. 내 가장 큰 혼란은 내가 무엇을 입력하는지 알지 못한다는 것입니다. 무엇입니까? ~
또는 nA
하기?
두 번째 링크의 문제점은 ffmpeg로 어떻게해야하는지 잘 모르므로 배치 형식으로 적용하는 방법을 모르겠다는 것입니다. 나는 그것이 루프를위한 또 다른 것이라고 생각하지만, 나는 그것에 익숙하지 않다.
이것은 ffmpeg (Linux는 이제 위의 Windows와 비교할 때)에서 사용했던 유일한 스크립트입니다.
for f in *.mkv; do ffmpeg -i "$f" -c:v libx264 -preset medium -crf 18 -c:a copy "encoded/${f%.mkv}.mkv"; done
아마 적응할 수있을 것이라고 확신하지만, 어떻게 확신 할 수는 없습니다.
for f in *.mp4; do ffmpeg -i "$f" -c copy "test/${f%}.mkv"; done
그걸로 땜질하면서 오랫동안 생각해 낼 수있는 최선의 방법이지만, 자막 파일을 가져 오지는 않습니다. .mp4.mkv
게다가.
저기서 방대한 벽으로 미안해. 누군가가 제공 할 수있는 도움이나 통찰력을 기대합니다. 고맙습니다!
.eng
필요할 경우 모든 .srt 파일에서. 분명히 거기에있을 필요는 없습니다.