`cat`을 사용하여 비디오 파일을 병합 할 수 있습니까?


18

cat명령을 사용하여 비디오 파일을 병합 할 수 있는지 궁금합니다 . 결과 파일이 완벽하게 재생됩니까?


1
시도 했습니까?
Mr Lister

3
나는 실제로했다. 그러나 파일 크기가 모두 합계 였지만 결과에 두 번째 파일이 포함되지 않았습니다.
Hamed Momeni

답변:


21

네 가능합니다. 그러나 모든 형식이 지원하는 것은 아닙니다.

ffmpeg FAQ :

몇 가지 멀티미디어 컨테이너 (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

1
여전히 두 번째 버전에서 중간 파일을 작성하지 않습니까?
John Gowers

6

미디어 파일에는 두 가지 종류가 있습니다

  • 스트리밍 가능

  • 스트리밍 불가

주요 차이점은 두 파일 형식에 메타 정보가 포함되는 방식입니다. 과 비 스트리밍 포맷, 메타 informationc ( "헤더")는 때때로 말에, 보통 처음에, 파일의 특정 위치에 저장됩니다. 파일 파일 중 하나의 메타 정보가 비표준 위치에 있으므로 무시되므로 이러한 파일을 간단히 연결할 수 없습니다.

OTOH의 스트리밍 가능한 형식은 "중간에"파일을 재생하는 리스너를 처리 할 수 ​​있어야합니다. 따라서 이러한 형식은 메타 정보를 계속 재전송하며 파일 / 스트림 내에서 메타 정보를 업데이트 할 수도 있습니다. 이러한 형식은 간단히 연결할 수 있습니다.


예를 들면 다음과 같습니다. ogg : stackoverflow.com/questions/27980960/…
BlackShift

1

BЈовић가 말했듯이 일반적으로 각 파일에는 고유 한 헤더가 있습니다. Ubuntu How To 's 의이 예제를 사용해보십시오 .

mencoder -ovc copy -oac copy video1.avi video2.avi -o completevideos.avi 

0

모든 비디오 파일에는 헤더가 있으므로 불가능합니다. 비디오를 병합하려면 도구 (예 : ffmpeg 또는 mencoder ) 를 사용해야합니다 .


9
정확하지 않습니다. 원시 데이터를 출력하는 rawvideo 또는 yuv4mpegpipe와 같이 헤더가없는 비디오 형식이 있습니다. 따라서 누락 된 헤더로 인해 크기를 알 수 없으므로 해당 형식을 읽을 때 프레임 크기를 제공해야합니다.
Marco

2
그러면 DV 파일로 어떻게 성공적으로 수행 했습니까?
Pithikos

1
@Pithikos는 모른다. 어쩌면 당신은 마술을 연습 :)
BЈовић 7
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.