ã¯ããã«
ãããã«ã¡ããhirataraã§ãã
ãè¿å¹´ãYouTubeããã³ãã³åç»ã«ä»£è¡¨ãããåç»å ±æãµã¼ãã¹ã®éè¦ããæ¥éã«é«ã¾ã£ã¦ãã¾ãããã®ãããªç¶æ³ã§ããªã¼ãã³ã½ã¼ã¹ã®åç»èªã¿æ¸ãã½ããã¦ã§ã¢ãFFmpegãããã«ããã«æ³¨ç®ãéãã¦ãã¾ãã
ãæ¬ç¨¿ã§ã¯ããã®FFmpegã®å ±æã©ã¤ãã©ãªãç´æ¥å¼ã³åºãã¦ãCè¨èªããåç»ãæ±ãæ¹æ³ãç´¹ä»ãã¾ããFFmpegã«ã¯ffmpegã¨ãã便å©ãªã³ãã³ããã¤ãã¦ãã¾ãã®ã§ãã»ã¨ãã©ã®å ´åã¯ãã®ã³ãã³ããå©ç¨ãã¾ããããããFFmpegãå ±æã©ã¤ãã©ãªä»ãã§ã³ã³ãã¤ã«ããã¨ãèªåã®ä½ã£ãããã°ã©ã ããç´æ¥FFmpegã®APIãå©ç¨ãããã¨ãå¯è½ã«ãªãã¾ãã
ãFFmpegã®å ±æã©ã¤ãã©ãªãå©ç¨ããã¨ãåç»ããã¡ã¤ã«ãããã³ã¼ããã¦åçãããããæ°ããªåç»ã使ãã¦ç¹å®ãã©ã¼ãããã§ã¨ã³ã³ã¼ããããã¡ã¤ã«ã«ä¿åããããããã¨ãã§ãã¾ãã対å¿codecããããããããããåç»ãã¬ã¤ã¤ã¼ãã²ã¼ã ã使ããå ´åã«ã¯ã大ããªåãçºæ®ãããã¨ã§ãããã
対象èªè
- Cè¨èªãåããæ¹
- åç»ãããªããã£ãã«å¦çãããæ¹
- ffmpegã³ãã³ãã«ã¤ãã¦æ·±ãç¥ãããæ¹
å¿ è¦ãªç°å¢
- ããã¹ãã¨ãã£ã¿
- gccãåä½ããç°å¢ï¼LinuxãMac OS Xãæ³å®ï¼
FFmpegãå ±æã©ã¤ãã©ãªä»ãã§ã¤ã³ã¹ãã¼ã«ãã
ãFFmpegãå
±æã©ã¤ãã©ãªä»ãã§ã¤ã³ã¹ãã¼ã«ããã«ã¯ãã½ã¼ã¹ã³ã¼ãããã³ã³ãã¤ã«ããå¿
è¦ãããã¾ããã¾ãã¯svnãå©ç¨ãã¦ãææ°ã®ã½ã¼ã¹ãåã£ã¦ãã¦ãã ããã
% svn co svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
ãããã¦ã--enable-sharedãªãã·ã§ã³ä»ãã§configureããã¾ããå¾ã¯ãé常éãmakeã¨make installã¨å®è¡ãã¦ãã¤ã³ã¹ãã¼ã«ãè¡ã£ã¦ãã ããã
--enable-swscaleãæå¹ã«ããããã«ã¯--enable-gplãæå®ãã¦GPLã®ã½ã¼ã¹ã³ã¼ããå«ãã§ãããã¨ãæç¤ºããå¿
è¦ãããã¾ãã% ./configure --enable-shared --enable-swscale --enable-gpl % make % sudo make install
ããªãããã®ã¤ã³ã¹ãã¼ã«ä¾ã§ã¯æå°éã®æ§æã§ã®ã¤ã³ã¹ãã¼ã«ãè¡ã£ã¦ãã¾ããFFmpegã§å©ç¨å¯è½ã®ãã¡ã¤ã«ãã©ã¼ããããå¢ããããã«ã¯ã対å¿ããã³ã¼ããã¯ãå«ãã©ã¤ãã©ãªãå¥éã¤ã³ã¹ãã¼ã«ããããã§æãã--enable-shared以å¤ã®ãªãã·ã§ã³ãconfigureã¸æå®ããå¿
è¦ãããã¾ãããã®è©³ããæé ã«é¢ãã¦ã¯ãæèãFFmpegã§ä½ãåç»å
±æãµã¤ããã®ä¸ã§æ¸ããã¦ãã¾ãã®ã§ãèå³ã®ããæ¹ã¯åç
§ãã¦ãã ããã
--enable-sharedä»ãã§configureããã¨ã仿¥ç¾å¨ã®ãªãã¸ã§ã³ï¼r13235ï¼ã§ã¯ãã¾ããã«ããã§ãã¾ãããæ¬¡ã®ããã«ã--disable-mmxãªãã·ã§ã³ã渡ãã¦configureãã¦ãã ãããã
--enable-swscaleãæå®ãã¦ãã«ãããããã¨ãã§ããªãããã§ããMacPortsã§ã®ãã®åé¡ã®è§£æ±ºæ³ãåèã«ããããç¨æãã¾ããã®ã§ããããå©ç¨ãã¦ä¸ããããããã¯ãµã³ãã«ãã¡ã¤ã«ã«å梱ãã¾ããã% patch -p0 < ../make_thumb_sample/ffmpeg-os_x-r13235.patch % ./configure --enable-shared --disable-mmx --enable-swscale --enable-gpl % make % sudo make install
ã
ããããSVNã®HEADã®ã½ã¼ã¹ãå©ç¨ãã¦ãã¾ãè¡ããªãå ´åã¯ãæ¬ç¨¿ã®å·çã®æ¤è¨¼ã®ããã«å©ç¨ãããªãã¸ã§ã³ã§ããr13235ããå©ç¨ãã ãããã½ã¼ã¹ã®ãã§ãã¯ã¢ã¦ãã以ä¸ã®ã³ãã³ãã§è¡ãã¾ãã
% svn co -r 13235 svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
ã¤ã³ã¹ãã¼ã«ããFFmpegã®ä½¿ãæ¹
ãFFmpegãã¤ã³ã¹ãã¼ã«ããã¨ãffmpegã¨ããã³ãã³ããå©ç¨ã§ããããã«ãªãã¾ããä¾ãã°ã次ã®ãããªã³ãã³ãã§ãåç»ãã©ã¼ãããã®å¤æ´ãã§ãã¾ãã
% ffmpeg -i sample.mov -r 30 sample.mpeg
ãæ¬ç¨¿ã§ã¯ffmpegã³ãã³ãã¯ä¸åå©ç¨ããªãã®ã§ãã³ãã³ãã©ã¤ã³ãªãã·ã§ã³ãªã©è©³ãã説æã«é¢ãã¦ã¯æèãFFmpegã§ä½ãåç»å
±æãµã¤ãããåç
§ãã¦ãã ããã
ãµã³ãã«ã®ã³ã³ãã¤ã«ã»å®è¡ã®ä»æ¹
ããµã³ãã«ã¹ã¯ãªããã«ã¯ç°¡åãªMakefileãç¨æãã¦ãã¾ãã®ã§ã次ã®ããã«makeãã¦ãã ããã
% make gcc -O4 -Wall -c -o make_thumb.o make_thumb.c gcc -o make_thumb make_thumb.o -lavutil -lavformat -lavcodec -lswscale
ãmakeããã¨make_thumbã³ãã³ããã§ãã¾ãã®ã§ãã./make_thumb [èªã¿è¾¼ã¿åç»ãã¡ã¤ã«] [åºåç»å]ãã¨å®è¡ãã¾ããä»åã¯æã£åãæ©ã試ããããããµã³ãã«ã«ãsample.movããæ·»ä»ãã¦ãã¾ãã
% ./make_thumb sample.mov sample.jpeg
