cat
명령을 사용하여 비디오 파일을 병합 할 수 있는지 궁금합니다 . 결과 파일이 완벽하게 재생됩니까?
답변
네 가능합니다. 그러나 모든 형식이 지원하는 것은 아닙니다.
몇 가지 멀티미디어 컨테이너 (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
답변
미디어 파일에는 두 가지 종류가 있습니다
-
스트리밍 가능
-
스트리밍 불가
주요 차이점은 두 파일 형식에 메타 정보가 포함되는 방식입니다. 과 비 스트리밍 포맷, 메타 informationc ( “헤더”)는 때때로 말에, 보통 처음에, 파일의 특정 위치에 저장됩니다. 파일 파일 중 하나의 메타 정보가 비표준 위치에 있으므로 무시되므로 이러한 파일을 간단히 연결할 수 없습니다.
OTOH의 스트리밍 가능한 형식은 “중간에”파일을 재생하는 리스너를 처리 할 수 있어야합니다. 따라서 이러한 형식은 메타 정보를 계속 재전송하며 파일 / 스트림 내에서 메타 정보를 업데이트 할 수도 있습니다. 이러한 형식은 간단히 연결할 수 있습니다.
답변
BЈовић가 말했듯이 일반적으로 각 파일에는 고유 한 헤더가 있습니다. Ubuntu How To ‘s 의이 예제를 사용해보십시오 .
mencoder -ovc copy -oac copy video1.avi video2.avi -o completevideos.avi