본문 바로가기
IT/영상처리

[FFmpeg] mpegts 포맷으로 한 파일에 영상 여러 개 담기

by 겨발자 2022. 5. 6.

FFmpeg을 활용해서 두 개의 영상을 한 개의 파일로 만들어야 했다.

찾아보니 mpegts 포맷으로 만들면 가능하다는 것을 알게 되었다.

 

MPEG-TS(transport stream)오디오, 비디오 등의 데이터 전송을 위한 통신 프로토콜로서, 디지털 영상과 소리를 다중화하고, 출력을 동기화하는 것이 목적이라고 한다. 생소한 분야이다.

 

FFmpeg에서 mpegts 포맷으로 변경하는 명령어는 아래와 같다.

 

ffmpeg -y 
-i 01.video_h264_fhd_30fps.ts 
-i 02.video_h264_fhd_30fps.ts 
-map 0:0 
-map 0:1 
-map 1:0 
-map 1:1 
-program program_num=1:title=TEST1:st=0:st=1 
-program program_num=2:title=TEST2:st=2:st=3 
-codec copy 
-f mpegts 
mpts.ts

 

 먼저 -i 옵션으로 두 개의 영상 파일을 input으로 주고, -map 옵션을 x:y 형태로 주게 된다. 여기서 x는 stream 번호를 말한다. 0부터 시작하는데, 첫 번째 영상 파일에 해당된다고 생각하면 될 것 같다. 그리고 y는 보통 0이 비디오 스트림, 1이 오디오 스트림이라고 한다. 위에서는 각 파일의 비디오, 오디오 스트림을 모두 사용한 것이다. 

 

 그리고 program 옵션으로 각각의 프로그램에 대한 정보를 입력한다. program_num은 말 그대로 프로그램 숫자, title은 프로그램 이름. st는 스트림을 지정한다. 첫 번째 프로그램의 경우 스트림을 st=0:st=1로 지정했는데, 이는 첫 번째(0)의 map 옵션(0:0), 두 번째의 map 옵션(0:1)을 사용한다는 의미로 이해하면 될 것 같다.

 

 마지막으로 -f 옵션을 사용해 포맷을 mpegts로 지정해 mpts.ts 파일을 최종적으로 만들어 내게 되었다. 성공적으로 mpegts 파일을 생성했을 경우 팟플레이어에서 영상 -> 영상 선택에서 2개의 영상(TEST1, TEST2)이 존재하는 것을 볼 수 있게 된다.

 

 

 

출처)

https://ko.wikipedia.org/wiki/MPEG_%ED%8A%B8%EB%9E%9C%EC%8A%A4%ED%8F%AC%ED%8A%B8_%EC%8A%A4%ED%8A%B8%EB%A6%BC

 

MPEG 트랜스포트 스트림 - 위키백과, 우리 모두의 백과사전

.ts는 여기로 연결됩니다. 타입스크립트의 파일 확장자에 대해서는 타입스크립트 문서를 참고하십시오. 여러 개의 MPEG 프로그램이 하나로 합쳐져 안테나로 전달된다. 그 뒤 미국 디지털 TV에서 AT

ko.wikipedia.org

https://stackoverflow.com/questions/31413992/multiplexing-multiple-single-video-mpeg-ts-into-mpts-using-ffmpeg

 

Multiplexing multiple single video MPEG-TS into MPTS using ffmpeg

I tried to find a solution for multiplexing different inputs (ts) into one MPTS, so that can be used as input for DVB-T modulator. Basically, what I want is to select certain TS provided by satellite

stackoverflow.com

 

'IT > 영상처리' 카테고리의 다른 글

예시로 알아보는 ffmpeg의 간단한 명령어 옵션  (0) 2022.04.27

댓글