menucoder를 이용한 동영상 인코딩 방법
아시다시피.. 단순 저해상도라면야.. 얼마든지 화질만 떨어뜨리면 됩니다만..
화질을 유지하면서.. 자막을 같이 인코딩하면서….
화면을 회전시키면서 코덱도 맞춘다는건 보통 삽질이 아닙니다.
다만 예전에 자게에 용가리님이 알려주신것을 기초로해서
Linux에서 shell script을 만들어서 인코딩하면 편하지 않겠나…싶어 삽질을 눈꼽만큼 해봤습니다..
완성(?)한건 한 3일전쯤 되는데 게으름증을 동반한 무기력함으로인해
며칠 늦게되었습니다.
다시한번 도와주신 용가리님에게 감사드립니다..(넙죽)
———————————–
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에서 인코딩을 하시는분들께 도움이 되는 결과였으면 합니다.
새해에도 행복한 즐삽되세요..(꾸벅)