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
Android SDK r16에서의 ant 빌드 이슈
Android SDK Tools r16에서 생겨난 이슈입니다. 요약하면 코드 한줄 고치고 ant 빌드했는데 apk 파일이 새로 만들어지지 않는다는 겁니다. 이런게 어떻게 릴리즈 됐고 아직도 패치가 안됐는지
탐욕스러운 설계자 이야기
어느 나라에 설계자가 한 명 살고 있었다. 그는 대단히 탐욕스러웠다. 그는 따로 시간을 쪼개어 설계하기를 좋아하지 않았다. 그래서 고객과 요구사항 미팅을 할 때 머리속에서 바로 바로 설계하기를 즐겼다. 이
WAP 브라우저에서 https => http 302 전환시 주의할 점
1달전에 삽질한 내용이지만 저같은 순진무구 :$ 한 개발자가 덜 고생하라고 포스팅 하나 남깁니다. 테스트 했던 폰은 삼성 SCH-V840 이며, 이통사는 SKT를 씁니다. WAP Browser도 302