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 만세!
Comments
6 thoughts shared
rath
내일은 목에 칼이 들어와도 간닷! 쏘리 ㅡ,.ㅡ
rath
무슨 일이 있어도 가려하지만, 아직도 깨있어서 상당히 불안함 ![]()
rath
동영상을 시간 기준으로 자르는 툴을 찾다가 MP4 포맷을 잘 지원하는게 없어 VirtualDub을 포기하고 mencoder를 봤다. -endpos 옵션 굿! 그런데 -ss 옵션은 안먹는다. 에러 메시지에 의하면 AVI, ASF, MPEG stream이 아닐 경우 -ss는 처리하지 못한다고 한다. 아무튼 -endpos 00:07:08 먹으니까 이렇게 AVI로 쪼갠다음 울며겨자먹기 식으로 VirtualDub으로 Start Position 짜르고 다시 FLV로 인코딩 ;;;
ㅍ
ㅍ
Continue Reading
Discover more thoughts and insights
Google Calendar의 SMS 알림에는 뭔가 특별한 것이 있다.
이제 구글 캘린더 일정 알림에 sms가 추가됐습니다. 제가 PIMS에 대단히 집착을 가지고 있긴 하지만 불규칙한 수면 습관 덕에 TODO 관리만 하고 Schedule 관리는 잘 안하는 편입니다. 그래서 왠만한
Jython auto completion 구현하다
Jython interpreter에 tab auto-completion 기능 구현! 및 gnu-readline 연동 \[서문] 20시간동안 쉬지않고 Telnet(RFC854, RFC855, RFC857,
수면
10월 중순 경부터 엄청난 수면의 쓰나미가 쏟아지고 있다. 이러한 패턴이 언제부터 반복되었는지 돌이켜보면 2000년 여름. 회사일에 극심한 스트레스를 받고 27시간을 잤다. 그 이후부터, 오후 늦게 혹은 밤에