[스트리밍] Mencoder로 자막 포함 인코딩하기


———————————–
1. 준비물
linux, mencoder, 인코딩하는데 필요한 codec

2. 할일
2.1 일단 linux용 mencoder는 인코딩시 자막을 포함하는 경우 windows에서 하듯이 자막관련부분에 대한 arg들이 다 적용이 바로 되지는 않습니다. 그래서 찾아봤더니

~/.mplayer/mencoder.conf 에 내용을 넣어야 하더라구요…
제 경우의 예제내용을 적어보겠습니다.

font = “/usr/share/fonts/unfonts/UnDotumBold.ttf”
subfont-text-scale=3
subcp=cp949

넣어야 하는 내용은 이정도쯤 되겠습니다.

2.2 shell script를 만들자
인생을 약간 더 편하게 살기위하여 만든 스크립트입니다.
내용은 다음과 같습니다.

#!/bin/sh
mencoder -noodml $1.avi -o $1-con.avi -ofps 24.000 -vf-add crop=0:0:-1:-1 -vf-add scale=640:480 -vf-add expand=640:480:-1:-1:1 -srate 44100 -of mpeg -ovc lavc -lavcopts vcodec=mpeg2video -lavcopts vbitrate=600 -vf-add rotate=1 -oac mp3lame -lameopts vbr=0 -lameopts br=128 -lameopts vol=0 -lameopts mode=0 -lameopts aq=5 -lameopts padding=3 -sub $1.smi -subpos 90 -af volnorm

보시면 별 내용은 없습니다만.. 알아서 저장해서 쓰시리라 믿고 사용법은 다음과 같습니다.

ex} convavi.sh aaa

파일의 이름이 aaa.avi 이고 자막파일의 이름이 aaa.smi 일때
저런식으로 돌려주면 aaa-con.avi 라는 자막이 인코딩되며 동영상이 90도 회전된 결과물이 나오게됩니다.
pdaxrom에서 당근 잘 볼 수 있으며
가능하면 원래 동영상의 가로세로 길이를 알아낸후에
삽질을 했으면 더 말끔하게 될거같기는 합니다만..
저는 그냥 wide화면을 길쭉하게 보는법을 택하고 있습니다.
(맞습니다.. fbdev로 보기때문에.. 이거저거 생각하기 귀찮습니다.. wide영상.. 만화는 몇개 없거든요..-.-)

linux에서 자막 인코딩을 생각하시는분은 convavi.sh 를 만들어놓고
디렉토리의 파일들을 ls *.avi > convlist.sh 로 받으신다음
vi로 내용을 편집하셔서 .avi를 제거하시고 앞쪽에 convavi.sh 만 추가해서 변환 script를 만드시면
좀 더 편한 매크로변환이 가능하지 않나 싶습니다.(*nix계열의 장점이죠 ㅋㄷㅋㄷ)

3. 결론
만드는데 도움주신 용가리님 감사합니다. 바닥에서 다져온 인코딩옵션이 없었으면
아마도 스크립만드는건 불가능하지 않았나 싶습니다.
linux에서 인코딩을 하시는분들께 도움이 되는 결과였으면 합니다.

서진우

슈퍼컴퓨팅 전문 기업 클루닉스/ 상무(기술이사)/ 정보시스템감리사/ 시스존 블로그 운영자

You may also like...

2 Responses

  1. 2022년 6월 22일

    2parsons

  2. 2023년 1월 27일

    3believes

페이스북/트위트/구글 계정으로 댓글 가능합니다.