
여러 파일을 수정하기 위해 ffmpeg를 사용하고 있습니다 .mp4
.
먼저 이 명령을 사용하여 기본 언어를 eng
에서 fr
.
ffmpeg.exe -i "imput 1.mp4" -map 0 -c copy -disposition:a:0 0 -disposition:a:1 default "Output 2.mp4"
그런 다음 이 명령을 사용하여 .srt
파일 의 소프트 자막을 .mp4
.
ffmpeg.exe -i "Input 1.mp4" -i "Input 2.srt" -c copy -c:s mov_text -metadata:s:s:0 language=fr "Output 1.mp4"
이 두 명령은 독립적으로 작동하지만 한 줄로 결합하고 싶습니다.
이렇게 해봤는데 오디오만 바뀌고 자막에는 아무런 영향이 없습니다.
ffmpeg.exe -i "Input 1.mp4" -i "Input 2.srt" -map 0 -c copy -disposition:a:0 0 -disposition:a:1 default -c:s mov_text -metadata:s:s:0 language=fr Output 1.mp4"
뭔가 문제가 있다는 걸 알지만 알 수가 없어요.
누군가 내 결합된 명령에 어떤 문제가 있는지 말해 줄 수 있나요?
그런 다음 이전에 말했듯이 여러 파일(정확히 314개)에 대해 작업하고 있으며 각 파일에는 고유한 이름이 있으며 매번 파일 이름을 수동으로 변경하는 것은 지루합니다. 디렉토리에 있는 각 파일에 대해 이를 수행할 수 있는 방법이 있습니까?
답변1
비디오와 자막이 있는 폴더 내에서 명령 프롬프트를 열고 다음 명령을 사용해보세요.
for %a in (*.mkv *.mp4) do ffmpeg -i "%a" -i "%~na.srt" -map 0 -map 1:s:0 -disposition:a:0 0 -disposition:a:1 default -c copy -metadata:s:s:0 language=fr "%~na_new.%~xa"
이전 동영상과 이름은 동일하지만 이름에 'new'가 포함되고 오디오와 자막이 변경된 새 동영상을 만들어야 합니다.