cat
명령을 사용하여 비디오 파일을 병합 할 수 있는지 알고 싶습니다 . 생성된 파일이 원활하게 재생된다는 뜻인가요?
답변1
예, 가능합니다. 그러나 모든 형식이 이를 지원하는 것은 아닙니다.
일부 멀티미디어 컨테이너(MPEG-1, MPEG-2 PS, DV)에서는 간단히 비디오 파일을 연결하여 결합할 수 있습니다.
RAW 형식으로 변환하면 파일도 연결될 가능성이 높습니다.
ffmpeg -i input1.avi -qscale:v 1 intermediate1.mpg
ffmpeg -i input2.avi -qscale:v 1 intermediate2.mpg
cat intermediate1.mpg intermediate2.mpg > intermediate_all.mpg
ffmpeg -i intermediate_all.mpg -qscale:v 2 output.avi
하지만 cat
이런 방식으로 사용하면 불필요한 중간 파일이 생성됩니다. 이러한 중간 파일 생성을 방지하는 더 좋은 방법은 다음과 같습니다.
ffmpeg -i input1.avi -qscale:v 1 intermediate1.mpg
ffmpeg -i input2.avi -qscale:v 1 intermediate2.mpg
ffmpeg -i concat:"intermediate1.mpg|intermediate2.mpg" -c copy intermediate_all.mpg
ffmpeg -i intermediate_all.mpg -qscale:v 2 output.avi
답변2
미디어 파일에는 두 가지 유형이 있습니다.
스트리밍 가능
스트리밍할 수 없음
주요 차이점은 두 파일 형식이 메타정보를 포함하는 방식입니다. 그리고스트리밍할 수 없음형식에서 메타정보("헤더")는 파일의 특정 위치, 일반적으로 시작 부분과 때로는 끝 부분에 저장됩니다. 파일 중 하나에 대한 메타 정보가 비표준 위치에 있으므로 무시되므로 이러한 파일을 단순히 연결할 수는 없습니다.
장미유,스트리밍 가능형식은 "중간 어딘가"에서 파일 재생을 시작하는 리스너를 처리할 수 있어야 합니다. 따라서 이러한 형식은 메타 정보를 지속적으로 다시 보내고 파일/스트림 내에서 업데이트할 수도 있습니다. 이러한 형식은 간단히 연결할 수 있습니다.
답변3
BЈовић가 말했듯이 일반적으로 각 파일에는 자체 파일 헤더가 있습니다. 이 예제를 사용해 보세요우분투 사용법:
mencoder -ovc copy -oac copy video1.avi video2.avi -o completevideos.avi