어제에 이어 또 동영상 이야기입니다. 이런 매니악한(?) 이야기에는 별 관심이 없으실 테지만... 제목은 변환하기인데 동영상을 인코딩 하는 방법은 아니고 단순히 싱크에 맞게 음성을 리먹싱 하는 이야기입니다.

먼저 초보 분들을 위해 PAL과 NTSC 이야기를 간단히 해야겠네요. 아마 DVD에 관심있는 분들은 한번 쯤 들어보셨을 용어라 생각합니다. PAL은 주로 유럽에서 많이 사용되는데 50Hz 텔레비전 방송 규격입니다. SECAM도 50Hz니까 여기서는 그냥 PAL과 동급으로 취급하겠습니다. NTSC는 한국, 일본, 북미 등에서 사용하고 있는 60Hz(59.94) 규격입니다.

TV 방송하는데 50Hz냐 60Hz냐 이건 별로 문제가 안 됩니다. 그런데 영화에서는 문제가 됩니다. 영화는 23.976fps로 촬영됩니다. 이 영화를 TV로 방송하는 경우 어떻게 처리할까요?

PAL에선 단순히 영화 재생속도를 약간 빠르게 해버립니다. 원래 23.976fps인 영화를 25fps로 방송하는 것이죠. 그래서 유럽에선 영화를 TV로 방송하는 경우 러닝타임이 짧아지게 됩니다. TV 방송 뿐 아니라 DVD 역시 유럽에서 출시되는 타이틀은 PAL 규격으로 발매되기 때문에 속도가 약간 빨라지고 러닝타임이 짧아집니다. 이게 큰 차이가 아니라고 생각하실지도 모르겠지만 저는 이 PAL의 Speed Up이 영화를 제작한 감독의 의도를 훼손하는 방식이라 생각합니다.

NTSC 역시 영화에선 문제가 좀 있습니다. 23.976fps를 29.97fps로 맞추기 위해 텔레씬이라는 기법을 사용하는데 3:2 풀다운이라고도 합니다. 예전에 제가 추노 때문에 잠깐 언급했었죠. 1초에 24프레임짜리를 1초에 30프레임으로 재생하려면 4개의 프레임을 5개로 만들어야 합니다. 없는 프레임을 짜깁기로 만들어서 연속 동작이 어색하지 않도록 처리를 하지만 실상은 3:2 비율로 빨랐다 느렸다를 계속해서 반복합니다. 다만 워낙 짧은 시간에 계속해서 바뀌기 때문에 우리 눈에는 그다지 인식되지 못할 뿐입니다. 아무튼 이 NTSC에서의 텔레씬 기법은 비록 3:2로 왔다갔다 속도로 재생되긴 하지만 어쨌든 원래 영화의 재생속도를 왜곡하지는 않습니다. 동일한 러닝타임으로 진행됩니다.

이 글에서 다루는 내용은 유럽 방송을 녹화한 영화 ts 소스를 인코딩할 때 영상을 23.976fps로 인코딩한 다음 음성을 먹싱할 때 23.976fps에 맞게 재생 속도를 느리게 하는 방법입니다. 매우 간단합니다. 아 그리고 이건 mkv에만 해당합니다.

예제 소스는 스웨덴의 CANAL+ FILM HD에서 방송한 The Pacific 1부입니다. 원래 HBO에서 23.976fps로 제작했지만 유럽에선 25fps로 방송되었죠. 밴드 오브 브라더스의 후속작으로 기대를 많이 모았지만 스타일 자체가 많이 달라서 호불호가 갈렸던 작품입니다. 저는 개인적으로 BOB가 더 좋았습니다.



보시다시피 위 파일은 25fps입니다. 이걸 720p mkv 23.976fps로 인코딩했다고 가정하겠습니다. 저는 지금 당장 인코딩을 할 수 없으니 그냥 eac3to로 fps만 바꿔서 mkv로 리먹스 하겠습니다. eac3to로 FPS를 변경하는 방법은 -changeto23.976 이런 식으로 옵션을 붙여주시면 됩니다.



보시다시피 23.976fps로 잘 만들어 졌습니다. 재생시간을 보시면 원래는 52분 38초였는데 54분 33초로 늘어난 것을 볼 수 있죠? 자 이렇게 영상은 인코딩을 잘 했다고 치고, 이제 음성은 어떻게 하느냐? 만약 이게 영화라면 NTSC로 발매된 DVD가 있을 테니 그 음성을 사용하면 되겠습니다. 하지만 유일하게 존재하는 소스가 PAL 밖에 없다면 어쩔 수 없이 음성은 mkv의 타임코드를 이용하여 재생시간을 약간 늘여줘야 합니다.

방법은 매우 간단합니다. mkvmerge GUI로 먹싱하실 때 음성을 선택하고 Format specific options 탭에서 Stretch by 부분에 25025/24000을 입력해주시면 됩니다. 물론 꼭 저대로 입력할 필요는 없고 예를 들어 25.025/24 이렇게 넣어도 되고 아니면 25/23.976 이렇게 넣어도 됩니다. 25와 24/1.001의 비율만큼 음성의 재생속도를 늦춰주는 것입니다.




위 예는 제가 영상을 이미 23.976fps로 변환했기 때문에 음성만 저렇게 처리해주면 되는 것이고, 만약 현재 영상과 음성 모두 PAL로 인코딩된 파일을 가지고 있다면 영상에도 아래 스샷처럼 FPS를 지정해주면 됩니다.




어렵지 않죠? 뭐 어렵지는 않지만 어차피 이런 내용은 워낙 소수 분들에게만 필요하거나 이해될 내용이니 그냥 저런 것도 있구나 생각하고 가볍게 넘기시면 되겠습니다.