.ts format
.ts ?
.ts 는 transport streaming 인데, MPEG transport stream 이다. 이것은 그냥 container format 이다. mkv 같은 video, audio 등을 한데 묶는데 쓰이는 format 이라는 것이다. 좀 심하게 이야기하면 tar 같은 녀석이다.(똑같단 이야기는 아니고...)이녀석은 이름에서 알 수 있듯이 streaming 을 하기 위해 만들었다. 그래서 packet을 통해 data 를 보내야 하는 것과 관련된 내용을 spec 에 정의하였다.
- packet 안에 어떻게 넣어서 나를지 : MPEG-2 Part 1 과 ITU-T H.222.0 에서 Elementary stream을 packet 안에 어떻게 넣어서 실어나를 것인지를 정의해 놨는데, 이 정의에 따라 구현되어 있다.(Elementary stream 은 stream 할 요소들이라 보면 될 듯 하다. 정확한 정의는 wiki를 참고하자.)
- 전송 신호가 약해졌을 때를 대비한 특성들 : error correction / stream 의 동기화
MIME type
아래와 같은 MIME type 을 사용한다.- MIME: video/MP2T
HLS streaming server
이런 .ts 를 만들어서 날려주면 우리가 요새 많이 쓰는 동영상 streaming 이 구현되는 것이다. .ts 로 안만들고, 다른 방식으로 날릴 수도 있을 것이다. 여하튼 실시간 streaming 관련 spec 이 여러개인 관계로 알아서 파악하자.여기서는 간략하게 HLS(HTTP Live Streaming) 에 대해 이야기해 보겠다. 이름에서 알 수 있듯이 streaming 을 http 로 할 수 있도록 해준 것이다. 쉽게 이야기하면 브라우저로 동영상을 볼 수 있게 해줬다. 정도로 이야기할 수 있다. 이전에도 가능은 했지만, browser 의 능력이라기 보다는 siverlight 나 flash 같은 plugin 의 능력이었다.
여하튼 그래서 .ts 로 만들고, 이녀석을 시간별로 쪼개놓고, 이 쪼개놓은 .ts 파일에 대한 정보를 가진 index file(.m3u8) 을 하나 둬서 웹페이지 요청하듯이 이 .ts file 을 요청하고 받아서 browser 에서 play 하게 한 것이다. 더 자세한 설명은 ref. 3 을 참고하자.
.ts download
위에서 이야기했듯이 streaming server 가 보통 저런식으로 (HLS) 많이 구현되어 있다. 그래서 모든 .ts 를 다운로드 받으면, 결국 하나의 영상을 만들 수 있다..ts 를 download 할 수 있는 plugin
chrome extension
web store 에서 ban 을 당해서 site 에서 download 해야 한다. 그리고 설치도 "압축해제된 확장 프로그램 로드" 를 통해서 해야 한다.
- chrome://extensions > "개발자모드" 를 선택해서 > 압축해제된 확장 프로그램 로드..
- Grab Any Media 5 | download video from .ts fragments and join with ffmpeg - YouTube : 동영상에서는 grab any media 로 저장한 값을 cache 에서 찾아서 저장한다. 내 경우는 cache folder 를 따로 지정해서인지 모르겠지만, cache folder 에서 보이지 않았다. 그래서 그냥 extension 에서 제공해주는 save 를 이용했다.
.ts file 을 하나로 합치기
windows
copy /b segment1_0_av.ts+segment2_0_av.ts+segment3_0_av.ts all.tslinux
cat segment1_0_av.ts segment2_0_av.ts segment3_0_av.ts > all.ts
.ts play
이 .ts 파일은 VLC player 에서 play 할 수 있다. 굳이 mp4 로 바꿔야 겠다면, ffmpeg 을 이용하면 된다.(ref.1 을 참고하자.) 아마 다른 tools 도 있을테니 각자 찾아보기 바란다.See Also
Reference
- Use ffmpeg copy codec to combine *.ts files into a single mp4
- MPEG transport stream - Wikipedia, the free encyclopedia
- HTTP Live Streaming
댓글 없음:
댓글 쓰기