TS/MTS → MKV 한방에 변환하기

많이 보던 인터페이스. VCi를 최대한 재활용했음.


파일 형식 중에 .ts(또는 .mts)라는 형식이 있다. (Transport Stream)
잡음이 많은 환경을 고려해서 설계된 컨테이너 포맷이다.

온라인 방송에서도 널리 쓰이고, DSLR에서도 가끔 쓰이는 포맷인데, 일반 PC에서 쓰기엔 사소한 문제가 있다.
오류를 방지하기 위해 내부적으로 계속 시간 코드를 삽입해놓았는데, 문제는 파일을 잘라붙여 편집한 경우, 이 시간 코드가 따라다닐 때가 있다는 것이다.
예컨데, 30분짜리 .ts 동영상이 있는데, 여기서 10분~20분의 10분 분량을 잘라낸다고 하자.

가운데 빨간색 영역을 잘라내면…


그러면, 새롭게 생성되는 .ts 파일은 20분짜리가 된다. (30-10 = 20)
그런데, 막상 새롭게 생성되는 .ts 파일을 재생해보면 20분짜리가 아니라 30분짜리라는 정보가 나온다.
그리고, 재생을 해보면 10분~20분이라는 영역은 없다고 나온다.

이런 식으로 나온다. 편집 도구 좀 잘 만드시지… 쩝


이런 문제(?)를 간편하게 해결하기 위해 .ts 파일을 재압축 없이 .mkv 파일로 변환해주는 툴을 하나 만들었다.
(이하 본 프로그램은 TS2MKV로 부름)

이 프로그램의 기능은 별 거 없다. mplayer를 이용해서 ts의 비디오/오디오 raw data를 추출하고 다시 합치는 것.
그리고, 이 과정에서 A/V 딜레이 정보를 확인해서 맞춰주는 것 뿐이다.

예컨데, 아래와 같이, 56분 29초짜리라고 정보가 표시되는 .ts 파일을…


TS2MKV로 변환하면 아래와 같이 16분 1초라고 정상적으로 표시된다.
또한, 아직까지는 .ts 재생필터에 비해 .mkv의 재생필터가 더 빠릿빠릿하게 동작한다는 장점도 얻을 수 있다.


이 프로그램은 아래 링크에서 다운받을 수 있다.



덧1. 이 프로그램을 만들면서 이해가 되지 않는 상황을 하나 발견했다.
H.264의 raw 데이터에 mkv/mp4 컨테이너를 씌우면 2배 느리게 재생되는 현상이 종종 발생했다.
즉, 30fps라면 강제로 60fps로 지정해야 정상재생이 되는 것이다.

그런 현상이 발생하지 않을 때도 있어 정확한 원인은 찾지 못했고, FPS에 관련된 옵션을 추가했다.
 - FPS 2배로 늘이기: FPS를 2배로 늘임. 즉, 2배 빠르게 재생됨.
 - FPS를 지능적으로 보정: 생성된 mkv 파일과 별도로 프레임 수를 강제로 조정한 mkv 파일을 하나 더 생성함.

참고로, 일부 문제 있는 파일을 DGAVCIndex로 읽어보면 정상적인 정보가 나온다. 어쩔…

덧2. 이 프로그램은 카라 팬인 친구가 카라 동영상 관련 부탁을 해서 만든 것이다.
그래서, 이 프로그램의 아이콘은 카라다. ㅋㅋㅋ

덧3. 친구야! 술 사라! 공짜가 젤 비싸다. ㅋㅋㅋ


Trackback 0 Comment 8
  1. Favicon of http://salm.pe.kr/ BlogIcon koc/SALM 2010.12.05 22:21 address edit & delete reply

    2배 느리게 재생되는 현상은 H.264를 비롯한 MPEG-4 코덱의 문제로 보입니다. MPEG-4 코덱은 30fps에서는 정상으로 보이는데, 그게 아닌 동영상을 변환할 경우 2배속이 되거나 0.5배속이 되는 현상이 나타나더군요.

    • Favicon of http://zockr.tistory.com BlogIcon BLUEnLIVE 2010.12.05 23:58 address edit & delete

      코덱의 문제는 아닙니다.
      .264 파일을 뽑아낸 다음에 mkvmerge와 mp4box로 .mkv, .mp4 파일을 생성하고 이걸 그대로 mediainfo로 정보를 확인해봐도 fps가 변해있습니다.
      즉, 코덱을 전혀 거치지 않고 파일의 정보만 확인해도 fps가 다릅니다.

  2. Favicon of http://oneniner.net BlogIcon oneniner 2010.12.06 13:41 address edit & delete reply

    술사주께~ ㅋㅋㅋㅋ
    참고로 아이패드 사기로 했다~ 나오면 너 부르마~ ㅋㅋㅋ

    • Favicon of http://zockr.tistory.com BlogIcon BLUEnLIVE 2010.12.06 18:48 address edit & delete

      오~ 그렇구만!

  3. 꺄아~~ 2011.01.15 01:19 address edit & delete reply

    님!! 감사해요! 덕분에 다운받은 동영상을 볼 수있었어요! ㅠ0ㅠ
    컴 사양이 딸려서 ts 파일이 잘 안 돌아가서 미쳐가고 잇었는데..
    님은 나의 구세주!! +_+
    복받으실거에요!! >_<

  4. 에브제니스 2011.02.23 16:37 address edit & delete reply

    음... 저기 ts 파일을 mkv로 변환 했는데요...

    이상하게 영상에서 강물이 흐르듯 가끔식 나오네요

    원래 인런가요?

    • Favicon of http://zockr.tistory.com BlogIcon BLUEnLIVE 2011.02.23 19:55 address edit & delete

      아뇨. 잘 나오는데요.

  5. jsk005 2011.05.08 12:06 address edit & delete reply

    변환을 햇는데 정상적으로 변환이 안된거 같아요.
    DVD를 가지고 ts 파일로 변환을 하니 화질손상은 없어서 좋은데
    프레임율이 29.97 이라서 한글자막 싱크를 맞추기가 어렵네요.
    그래서 ts 파일을 다시 mkv로 변환할라고 햇더니 영상과 음성이 맞지는 않게 나오네요.
    어떻게 해야 23.976 프레임율로 변환을 하면서도 화질손상 거의 없이 mkv 파일로 변환이 될까요?