어떻게든 이 두 명령을 하나의 명령으로 결합할 수 있습니까?

어떻게든 이 두 명령을 하나의 명령으로 결합할 수 있습니까?

MP4 형식의 비디오 파일이 있습니다. 이것을 MP2로 변환해야 합니다. 하지만 MP2 형식의 특정 파일 크기를 초과하면 더 작은 파일로 잘라야 합니다.

이를 위해 현재 두 가지 명령이 있습니다.

변환 명령

ffmpeg -i INPUTfile -codec:v mpeg2video -qscale:v 0 OUTPUTfile

절단 명령(시간 값은 예시일 뿐임)

ffmpeg -ss 00:00:00.00 -i INPUTfile -to 00:10:00.00 -c copy -copyts OUTPUTfile

현재 동영상 파일을 변환하고 있는데, 파일 크기를 확인해보세요. 너무 크면 원본 영상 파일을 먼저 잘라낸 후 '부분'을 MP2로 변환하겠습니다.

저는 ffmpeg를 처음 접했고 이 두 명령을 하나로 결합할 수 있는지 궁금합니다. 이번에도 제가 해야 할 일은 MP4 파일을 변환해서 잘라내는 것입니다. 변환을 먼저 수행하고 나중에 잘라내거나 그 반대인지는 나에게 별로 중요하지 않습니다.

파일을 잘라낼 '부분' 수를 프로그래밍 방식으로 결정하므로 자르기 명령을 여러 번 실행해야 합니다. 그러나 최종 결과는 얼마나 많은 '부분'으로 끝나는지에 관계없이 MP2에 있어야 합니다.

답변1

두 번째 명령이 시간 분할을 수행하므로 이는 이러한 명령을 "병합"하기 위한 시작하기에 가장 좋은 장소입니다.

-c copy -copyts첫 번째 명령에서 를 적절한 코덱 변환 매개변수로 간단히 바꿀 수 있어야 합니다 . 이러한 매개변수는 기본적으로 "스트림을 있는 그대로 복사"를 의미하는 반면 다른 시간 매개변수는 시작 및 중지 지점을 설정합니다. 결과적으로 첫 번째 명령에서 "스트림 복사"를 "비디오 변환"으로 변경할 수 있습니다.

mp4를 mp2로 변환하는 것과 관련된 첫 번째 명령의 매개변수는 입니다 -codec:v mpeg2video -qscale:v 0. mpeg2video 인코더를 사용하라는 메시지가 표시되며 0 codec:v mpeg2video은 "최고 품질"을 의미합니다.ffmpegqscale

어쨌든 빠른 조옮김은 당신에게

ffmpeg -ss 00:00:00.00 -i INPUTfile -to 00:10:00.00 -codec:v mpeg2video -qscale:v 0 OUTPUTfile

관련 정보