PDA에서 영화보기용 및 다용도로 사용하던 바닥.
그리고 가끔 홈피에 동영상을 올리기위해 FLV 인코딩이 필요해서 Riva Encoder를 사용하다가 개념없는 UI와 내 데스크탑 Win2003에서 껍데기 실행이 안되어 ffmpeg.exe를 사용하여 FLV 인코딩을 했었다.
그런데 윈도우의 mencoder 프론트엔드는 flv 옵션을 지원하지 않고 리바에 딸려나온 ffmpeg.exe는 Xacti HD1A의 동영상을 디코드 할 줄 모른다. 2개 다 쓰기에도 귀찮았고 마침 집에 CPU 쳐남아도는 -_- 리눅스(FC6) 박스가 한 대 있었기에 바닥의 코어 mencoder를 열심히 빌드했다.
중간에 libmp3lame 잡히지 않아 삽질 좀 했고 이리저리 삽질해서 CPU 쳐남는 장비를 인코딩 장비로 적극 활용할 준비가 끝났다.
오우~ Sanyo Xacti HD1A으로 찍은 HD급 동영상도 PDA용으로 인코딩이 잘 되고 FLV으로 변환함에도 아무런 문제가 없다.
주중에 dnd로 원격 인코딩하는 툴 만들기 전에 여기다가 붙여놓고 당분간 긁어다 쓸 계획으로 포스트를 남긴다.
[자막 포함해서 PDA용으로 옮길 때 쓰자]
/usr/local/bin/mencoder test.mp4 -o test.avi \
-oac mp3lame -lameopts vbr=3 -lameopts br=128 \
-lameopts mode=1 -lameopts aq=7 \
-vf-add scale=xxx:xxx \
-ovc lavc -lavcopts vcodec=mpeg4 -lavcopts vbitrate=xxxx -ffourcc DIVX \
-font "/home/rath/fonts/gulim.ttc" -sub "test.smi" -utf8 \
-subpos 95 -subfont-text-scale 4 -subfont-blur 2
**[FLV로 변환할 때 쓰자]**
/usr/local/bin/mencoder test.mp4 -o test.flv **-of lavf** \
-oac mp3lame -lameopts abr:br=128 -srate 44100 \
-vf-add scale=xxx:xxx \
-ovc lavc -lavcopts vcodec=flv:vbitrate=xxx:mbd=2:mv0:trell:v4mv:cbp:last_pred=3 \
-lavfopts **i_certify_that_my_video_stream_does_not_use_b_frames**
FLV 인코딩 할 때 -of lavf 가 없으면 Flash로 재생이 안되고 -of lavf 옵션 준 다음에
i_certify_that_my_video_stream_does_not_use_b_frames 옵션을 안주면
** MUXER_LAVF *****************************************************************
If you wish to use libavformat muxing, you must ensure that your video stream
does not contain B frames (out of order decoding) and specify:
-lavfopts i_certify_that_my_video_stream_does_not_use_b_frames
on the command line.
REMEMBER: MEncoder's libavformat muxing is presently broken and will generate
INCORRECT files in the presence of B frames. Moreover, due to bugs MPlayer
will play these INCORRECT files as if nothing were wrong!
*******************************************************************************
이렇게 겁을 준다. -_- 컴맹한테 내 동영상이 B Frame 포함인지 아닌지 어떻게 구분하란 거야
암튼 몇개 테스트 해보니 잘 돌아갔으므로; 그냥 옵션 쓰기로 한다.
껍데기 입힌 것을 쓰면 유연성이 떨어져서 불편했었는데, 이리저리 옵션 공부해서 한번 익혀두니 삶이 무지무지 편해질 것 같다.
GUI 즐! CLI 만세!