¥Î¡¼¥È
ˬÌä¼Ô¿ô¡¡3329¡¡¡¡¡¡¡¡¡¡¡¡ºÇ½ª¹¹¿·¡¡2009-06-01 (·î) 12:15:07

Î×»þ¥á¥â¡¡JavaScript¤ÇMP3¤òºÆÀ¸¤¹¤ë¥é¥¤¥Ö¥é¥ê¤Îºî¤êÊý

Î×»þ¥á¥â¡¡PHP¤ÈMing¤Çºî¤ëFlash¥µ¡¼¥Ð¡¼¡¡¡Á¡¡SWF¥à¡¼¥Ó¡¼¤òºîÀ®¤¹¤ëWeb¥µ¡¼¥Ð¡¼¤ò̵½þ¥Ä¡¼¥ë¤À¤±¤Ç¹½ÃÛ¤¹¤ë

09/05/30¡¡oregano¤Ë¥Õ¥í¥ó¥È¥¨¥ó¥É£´¡¡¡Á¡¡JavaScript¤Ê¤é¤É¤¦¤«¡©

2D¾ðÊó¤ò¥Û¥¹¥È¤«¤éüËö¤ËÁ÷¤ê¡¢Ã¼Ëö¾å¤ÎJavaScript¤Ê¤ÉÈÆÍѤδĶ­¤Çɽ¼¨¤¹¤ë¤È¤¤¤¦¹½À®¤ò¹Í¤¨¤ë¡£

¤³¤Î¹Í¤¨¤Ï¤«¤Ê¤ê»î¤ß¤é¤ì¤Æ¤¤¤ë¤¬¡¢¤¤¤Þ¤À¤Ëɸ½à¡¦¶¦Ä̤Τâ¤Î¤Ë¤Ê¤Ã¤Æ¤¤¤Ê¤¤¤è¤¦¤À¡£

¤â¤¦£±¤Ä¤ÎÏÈÁȤߤȤ·¤Æ¡¢Ã¼Ëö¦¤òFlash¤Ë¤¹¤ë¡£¥Û¥¹¥È¡ÝüËö´Ö¤ÏŬÅö¤Ë¥¨¥ó¥³¡¼¥É¤·¤ÆÅ¾Á÷¡ÊXMLHttpRequest¡Ë¤·¤Æ¤â¤è¤·¡¢²¿¤«Flash¤Î»ÅÁȤ¬¤¢¤ì¤Ð»È¤Ã¤Æ¤â¤è¤·¡£¤¹¤°»×¤¤¤Ä¤¯¤Î¤Ï¡¢Ã¼Ëö¦¤Çjavascript¤«¤éFlash¤ËÂФ·¤ÆÉÁ²è¥³¥Þ¥ó¥É¤òȯ¤¹¤ëÊýË¡¡£
¤Þ¤º¤ÏAction Script¤½¤Î¤â¤Î¤Ë¤Ä¤¤¤Æ¡¡¢Í¡¡ActionScriptÆþÌç
´Êñ¤Ê¥¯¥é¥¤¥¢¥ó¥È¡¦¥µ¡¼¥Ð¡¼´ÖÄÌ¿®¡§¡¡Flash Remoting¤Î½é¤á¤ÎÊý
Í×Ä´ºº¡§¡¡AMFPHP¡ÁAction Message Format(AMF)

09/05/29¡¡oregano¤Ë¥Õ¥í¥ó¥È¥¨¥ó¥É£³

½ÐÎϦ¤Ë¤Ä¤¤¤Æ¡¢¹Í¤¨¤ë¡£

µ¿Ì䣱¡ä¡äflash¥Ó¥Ç¥ª¤òHTML¥µ¡¼¥Ð¡¼¤ËÃÖ¤¯¤Ë¤Ï¡©
¤½¤³¤é¤Ë¤è¤¯½ñ¤¤¤Æ¤¢¤ë¤³¤È¤À¤¬¡¢°ì±þ»î¤·¤Æ¤ª¤¯¡£
¥µ¡¼¥Ð¡¼Â¦¤Ë¡ÊHTML¥Õ¥¡¥¤¥ë¤ÈƱ¥ì¥Ù¥ë¤Ç¡Ëflv¥Õ¥¡¥¤¥ë(xxx.flv)¤òÃÖ¤¯¡£
¥µ¡¼¥Ð¡¼Â¦¤Ë¡¢¹¹¤Ë£²¤Ä¥Õ¥¡¥¤¥ë¤òÍѰդ¹¤ë¡££±¤Ä¤Ï¡¢xxx.flv¤ò¥¢¥¯¥»¥¹¤»¤è¤È¤¤¤¦ ¤³¤È¤òµ­½Ò¤·¤¿html¥Õ¥¡¥¤¥ë¡¢¤â¤¦£±¤Ä¤ÏüËö²èÌ̾å¤Ëflv¤ò·Á¤è¤¯É½¼¨¤¹¤ë¤¿¤á¤Îjavascript¥Õ¥¡¥¤¥ë¡£
¤Þ¤º¤Ïjavascript¥Õ¥¡¥¤¥ë¡£¡Ø¤½¤³¤é¡Ù¤«¤é¤â¤é¤Ã¤Æ¤­¤¿¤â¤Î¡£

function foutput(myURL, fname){
document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
 codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0"
 width="328" height="282" id="fxb01_ffmpeg" align="middle">
 <param name="allowScriptAccess" value="sameDomain" />
 <param name="movie" value="' + myURL + 'fxb01_ffmpeg.swf?fff=' + fname + '" /><param name="quality" value="high" />
 <param name="bgcolor" value="#ffffff" />
 <embed src="' + myURL + 'fxb01_ffmpeg.swf?fff=' + fname + '"
  quality="high" bgcolor="#ffffff" width="328" height="282" name="fxb01_ffmpeg" align="middle" allowScriptAccess="sameDomain"
  type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
 </object>');¡¡¡¡¡Á¡Ádocument.write¤«¤é¤³¤³¤Þ¤Ç²þ¹Ô̵¤·¤Ç½ñ¤¯
}

¼¡¤Ë¤³¤Îfoutput¤òµ¯Æ°¤µ¤»¤ë¤è¤¦¤Ê¡¢¥µ¡¼¥Ð¡¼Â¦¤ËÃÖ¤¯html¥Õ¥¡¥¤¥ë¡£¥æ¡¼¥¶¤ÏüËö¦¤«¤é¤³¤ì¤òºÇ½é¤Ë¸Æ¤Ó½Ð¤¹¡£

<html>
<body>
  <script type="text/javascript" src="¾åµ­¤Îjavascript¥Õ¥¡¥¤¥ëffmpeg.js"></script>
  <script language="javascript">foutput("¥µ¥¤¥ÈURL http://..../", "flv¥Õ¥¡¥¤¥ë̾");</script>
</body>
</html>

µ¿Ì䣲¡ä¡äffmpeg¤¬¥¹¥È¥ê¡¼¥à½ÐÎϤò½ÐÍè¤ë¤«¡©
ffmpeg¤Î½ÐÎϤòstdout¤Ë¸þ¤±¤Æ¤ß¤ë¡£stdout¤ÎÀè¤Ë¤Ï¡¢Ì¾Á°ÉÕ¤­¥Ñ¥¤¥×¤òÍѰդ¹¤ë¡£
̾Á°ÉÕ¤­¥Ñ¥¤¥×¤òºî¤Ã¤Æ¤ª¤¯¤Ë¤Ï¡¢linux¤Îmkfifo¥³¥Þ¥ó¥É¤ò»È¤¨¤Ð¤è¤µ¤½¤¦¡£¤¿¤È¤¨¤Ð mkfifo xxx.flv¡£
¡¡¡¡Ãí¡§¡¡ffmpeg¤Ï½ÐÎϤΥӥǥª¥Õ¥©¡¼¥Þ¥Ã¥È¤ò½ÐÎÏ¥Õ¥¡¥¤¥ë¤Î³ÈÄ¥»Ò¤«¤é·è¤á¤ë¤é¤·¤¤¡£
¡¡¡¡¡¡¡¡¡¡¤À¤«¤é¡¢"|"¡¡¤Ç¤Ï¤Ê¤¯¤Æ¡¢Ì¾Á°ÉÕ¤­¥Ñ¥¤¥×¤ò»î¤¹¡£ ¤ä¤Ã¤Æ¤ß¤¿¤³¤È¡§

mkpipe xxx.flv¡¡¡¡¡¡¡¡¡¡pipe¤òºî¤Ã¤Æ¤ª¤¯
cat xxx.flv > yyy.flv &¡¡¡¡pipe¤Î½ÐÎϦ¤òcat¤Ë¤Ä¤Ê¤°¡£¤³¤³¤Ç¤Ï¥Õ¥¡¥¤¥ëyyy.flv¤Ë¥³¥Ô¡¼
cat WS.yuv | ffmpeg -y -f yuv4mpegpipe -i - -vcodec flv -aspect 4:3 xxx.flv¡¡¡¡ffmpeg¤«¤épipe¤Ë½ÐÎÏ

¤Ç¡¢°ì±þyyy.flv¤¬¤¦¤Þ¤¯ºî¤é¤ì¡¢flv¥Õ¥¡¥¤¥ë¤È¤·¤ÆºÆÀ¸¤Ç¤­¤¿¡£

µ¿Ì䣳¡ä¡äapache¤¬Ì¾Á°ÉÕ¤­¥Ñ¥¤¥×¤«¤éflv¥Õ¥¡¥¤¥ë¤òüËöɽ¼¨¤Ç¤­¤ë¤Î¤«¡©
»Äǰ¤Ê¤¬¤é¡¢¤³¤ì¤Ï¤À¤á¡£Apache¤Ç¤Ï¥Õ¥¡¥¤¥ë¤¬´°·ë¤·¤Ê¤¤¤È¤À¤á¤ß¤¿¤¤¡£

¤Ç¡¢¥é¥¤¥Ö¥¹¥È¥ê¡¼¥ß¥ó¥°¥µ¡¼¥Ð¡¼¤¬É¬Íס£Flash¤À¤ÈFreeÈǤǤÏRed5¤¬Í­Ì¾¤É¤³¤í¡£

¤Ç¤Ï¡¢¤³¤ÎÊÕ¡¡¤ä¡¡¤³¤ÎÊդǤ⠸«¤Ê¤¬¤éRed5ƳÆþ¡£

Ëä¤á¹þ¤ß¤Ê¤É¤Ë¤Ä¤¤¤Æ¤Ï¡¢¤¿¤È¤¨¤Ð¤³¤Î¥Ú¡¼¥¸¤¬ÌòΩ¤Ä¤«¤â¡£

09/05/25 oregano¤Ë¥Õ¥í¥ó¥È¥¨¥ó¥É£²

¥Õ¥í¥ó¥È¥¨¥ó¥É²½¤¹¤ë¤¿¤á¤Ë¤Ï¡¢(0)¥×¥í¥°¥é¥à¤òµ¯Æ°¤¹¤ë»ÅÁÈ¡¢¤È¡¢ (1)ÆþÎϤòÅϤ¹»ÅÁÈ¡¢¤È¡¢(2)½ÐÎϤòɽ¼¨¤¹¤ë»ÅÁÈ¡¢¤¬É¬ÍפÀ¤í¤¦¡£

(0)µ¯Æ°¤¹¤ë»ÅÁÈ¡¡¢Í¡¡PHP¤«¤éC¥×¥í¥°¥é¥à¤òµ¯Æ°¤¹¤ë¡£
¤³¤Î¤È¤­¡¢ÆþÎϤò°ú¿ô¤ÇÅϤ¹¤³¤È¤ò¹Í¤¨¤¿¤é¤É¤¦¤«¡£

(1)ÆþÎϤòÅϤ¹»ÅÁÈ¡¡¢Í¡¡µ¯Æ°»þ¤Î¤ßÅϤ¹¤Î¤Ç¤¢¤ì¤Ð¡Ê¤Ä¤Þ¤ê¡¢ÅÓÃæ¤Ç ¥À¥¤¥¢¥í¥°²èÌ̤ò½Ð¤·¤ÆÆþÎϤòÆÉ¤ß¹þ¤à¤Î¤Ç¤Ê¤±¤ì¤Ð¡Ë¡¢µ¯Æ°»þ¤Î°ú¿ô¤Ç ÅϤ·¤Æ¤·¤Þ¤¦¤³¤È¤¬½ÐÍè¤ë¡£
¥À¥¤¥¢¥í¥°¤ò½Ð¤·¤Æ¡¢¤È¤«¡¢¥°¥é¥Õ¥£¥¯¥¹¤ò½Ð¤·¤Æ¤½¤Î¾å¤ÇÅÀ¤ò»ØÄê¡¢¤È¤«¤ò Web¤Ù¡¼¤¹¤Ç¤ä¤ë¤È¤Ê¤ë¤È¡¢¤â¤¦¾¯¤·¹Í¤¨¤ëɬÍפ¬¤¢¤ë¤Î¤Ç¡¢¤³¤ÎÅÀ¤Ï¥Ú¥ó¥Ç¥£¥ó¥°¡£

(2)½ÐÎϤòɽ¼¨¤¹¤ë»ÅÁÈ¡¡¢Í¡¡Ê¸»ú¡¢ÀŻ߲è¤Ê¤éWeb²èÌÌ¡ÊHTML¤Ê¤êpng¤Ê¤ê¡Ë¤ò ºî¤ì¤Ð¤¤¤¤¤«¤é¡¢Èæ³ÓŪ´Êñ¡£
¤¿¤È¤¨¤ÐMRTG¡Ê¥Í¥Ã¥È¥ï¡¼¥¯¥È¥é¥Õ¥£¥Ã¥¯¤Ê¤É¤ò±ó³Ö¤«¤é´Æ»ë¡Á²òÀâµ­»ö£±¡¢ ²òÀâµ­»ö£²¡¢ ¸å·Ñ¤ÏRRDTool¡Á²òÀâµ­»ö¡Ë¤Ç¤Ï¡¢ ¥°¥é¥Õɽ¼¨¤ò¡¢png¤Î³¨¤òÀ¸À®¤·¤ÆHTML¤Ë¤Ï¤á¹þ¤à·Á¤Ç¼Â¸½¤·¤Æ¤¤¤ë¤é¤·¤¤¡£
ư²è¤È¤Ê¤ë¤È¡¢¤Á¤ç¤Ã¤È¹Í¤¨¤ëɬÍפ¢¤ê¡£¤¤¤¯¤Ä¤«¹Í¤¨¤é¤ì¤ë¤¬¡¢¤¿¤È¤¨¤Ð

Flash¤ÎFLV¤òÀ¸À®¤¹¤ë¤³¤È¤ò¹Í¤¨¤ë¤È¡¢FFmpeg¡ÊFFmpeg¤Î¥Û¡¼¥à¡¢ÆüËܸì¤Î´Êñ¤Ê¾Ò²ðµ­»ö¡Ë¤¬¤ª¼ê·Ú¤Ê¥ª¡¼¥×¥ó¥½¡¼¥¹¤«¤âÃΤì¤Ê¤¤¡£¤³¤ó¤Ê¤â¤Î¡ÊPHP¤Çư²è·Á¼°¤Î³Æ¼ïÊÑ´¹¤¬¹Ô¤¨¤ëffmpeg¤Î¥é¥Ã¥Ñ¡¼¥¯¥é¥¹¥é¥¤¥Ö¥é¥ê¡Öffmpeg¡×¡Ë¤â¤¢¤ë¡£

¹¹¤Ë¡¢¤â¤·ffmpeg¤Ëư²è¥Õ¥ì¡¼¥à¡Ê¤¿¤È¤¨¤ÐRGB¡¢ËÜÅö¤ÏYUV?¤È¤«¡Ë¤ò¥¹¥È¥ê¡¼¥àŪ¤Ë¡Ê¤Ä¤Þ¤êÁ´Éô¤Î¥Õ¥ì¡¼¥à¤¬´°À®¤·¤Æ¤«¤éffmpeg¤òµ¯Æ°¤¹¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢Í½¤áư¤¤¤Æ¤¤¤ëffmpeg¤ËÂФ·¤Æ¥Õ¥ì¡¼¥à¤ò¥ì¥ó¥À¥é¡¼¤Ç£±Ë示¤ÄÀ¸À®¤·¤Ê¤¬¤éffmpeg¤ËÅϤ¹¡Ë¤³¤È¤¬¤ä¤ê¤¿¤¤¤À¤í¤¦¡£¤½¤ì¤ò¡¢¥Ñ¥¤¥×¤Ç¹Ô¤¦µÄÏÀ¤¬¡¢Pipe RGB data to ffmpeg¤Ë¤¢¤Ã¤¿¡£Íפ¹¤ë¤Ëyuv4mpegpipe¤È¤¤¤¦¥Õ¥©¡¼¥Þ¥Ã¥È¤Ç¤Ç¤­¤ë¤é¤·¤¤¡£

RGB to YUV ? http://www.mis.med.akita-u.ac.jp/~kata/image/rgbtoyuv.html http://www.sm.rim.or.jp/~shishido/yuv.html http://www.fourcc.org/fccyvrgb.php

¤³¤Îyuv4mpegpipe¤È¤¤¤¦¥Õ¥©¡¼¥Þ¥Ã¥È¤Ï¡¢MJPEG Tools¤È¤¤¤¦¥×¥í¥¸¥§¥¯¥È¤Ç»È¤ï¤ì¤Æ¤¤¤ë¸ò´¹¥Õ¥©¡¼¥Þ¥Ã¥È¤é¤·¤¤¡£rpm¤¬¤¢¤ë¤¬¥Ç¥Ú¥ó¥Ç¥ó¥·¡¼¥Õ¥¡¥¤¥ë¤Î¥Ð¡¼¥¸¥ç¥ó¤¬¤¢¤ï¤Ê¤¤¡Ê¸Å¤¤¥é¥¤¥Ö¥é¥ê¤ò»È¤Ã¤Æ¤¤¤ë¡Ë¤Î¤Ç¡¢¥½¡¼¥¹¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¡£./configure ¢Í make¡¡¤Ê¤Î¤À¤¬¡¢./configure¤Ç­¤ê¤Ê¤¤¤â¤Î¤¬¤¢¤Ã¤¿¡££±¤Ä¤Ïlibjpeg¤Ç¡¢¤³¤ì¤Ï/usr/lib/libjpeg.so.64¤òlibjpeg.so¤Ë¥ê¥ó¥¯¡£make»þ¤Ë­¤ê¤Ê¤«¤Ã¤¿libjpeg´Ø·¸¤Î¥Ø¥Ã¥À¡¼¥Õ¥¡¥¤¥ë¤ò/usr/include¤ËÄɲáÊËÜÅö¤Ï¤ª¤«¤·¤¤¡©¡Ë¡¢¹¹¤ËX11lib-devel¤òyum¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¡¢¤è¤¦¤ä¤¯make¤¬Ä̤ä¿¡£
¤Ç¡¢MJPEGtools¥Ñ¥Ã¥±¡¼¥¸¤Î»È¤¤Êý¤ÏMJPEG HOWTO¡£¡¡¤Ç¡¢4.1 Creating videos from images¡¡¤Ë¤è¤ë¤È¡¢

You can use jpeg2yuv to create a yuv stream from separate JPEG images.
This stream is sent to stdout, so that it can either be saved into a file,
encoded directly to a mpeg video using mpeg2enc or used for anything else.

Saving an yuv stream can be done like this:
> jpeg2yuv -f 25 -I p -j image%05d.jpg > result.yuv
Creates the file result.yuv containing the yuv video data with 25 FPS.
The -f option is used to set the frame rate. Note that image%05d.jpg means that
the jpeg files are named image00000.jpg, image00001.jpg and so on.
(05 means five digits, 04 means four digits, etc.)
The -I p is needed for specifing the interlacing. You have to check which type you have.
If you don't have interlacing just choose p for progressive

¤Ç¡¢Windows¾å¤ÇWinShot¤ò»È¤Ã¤ÆÆ°²è²èÌ̤òϢ³¥­¥ã¥×¥Á¥ã¡¢JPEG¤ËÊÑ´¹¤·¤¿¤â¤Î¤òÍѰդ·¤Æ¡¢¤³¤Î½èÍý¤ò¼Â¸³¡£
/usr/local/lib¤ò¸¡º÷¥Ñ¥¹¤Ë´Þ¤ó¤Ç¤¤¤Ê¤¤ÌäÂêȯÀ¸¡¡¡Ê»²¾È:?¡Ë¡¡¢Í¡¡root¤Çldconfig¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¡£
JPEG¥Õ¥¡¥¤¥ë¤¬0ÈÖ¤«¤é¥¹¥¿¡¼¥È¤·¤Æ¤¤¤Ê¤¤ÌäÂê¡ÊWinShot¤ÎÌäÂê¡Ë¡¡¢Í¡¡²¾¤Ë2ÈÖ¤ò¥³¥Ô¡¼¤·¤Æ0ÈÖ¤È1È֤Ȥ¹¤ë¡£
¹¹¤Ë¥¨¥é¡¼¡§Image dimensions are 425x344¤Ê¤Î¤À¤¬¡¢**ERROR: [jpeg2yuv] The image width isn't a multiple of 16, rescale the image¡£¡¡¤³¤ì¤ÏJPEG¥Õ¥¡¥¤¥ë¤Î¥µ¥¤¥º¤òºî¤êľ¤·¤Æ¡Ê¤¿¤È¤¨¤Ð400x240¤Ë¤·¤¿¡Ë¡¢ºÆÅÙÄ©Àï¡£º£ÅÙ¤Ï

[yamanouc@oregano MJPEGtools]$ jpeg2yuv -f 10 -I p -j WS%06d.JPG > WS.yuv
  INFO: [jpeg2yuv] Parsing & checking input files.
  INFO: [jpeg2yuv] YUV colorspace detected.

  INFO: [jpeg2yuv] Starting decompression
  INFO: [jpeg2yuv] Image dimensions are 400x240
  INFO: [jpeg2yuv] Movie frame rate is:  10.000000 frames/second
  INFO: [jpeg2yuv] Non-interlaced/progressive frames.
  INFO: [jpeg2yuv] Frame size:  400 x 240
  INFO: [jpeg2yuv] Number of Loops 1
  INFO: [jpeg2yuv] Number of Frames -1
  INFO: [jpeg2yuv] Start at frame 0
  INFO: [jpeg2yuv] Now generating YUV4MPEG stream.
  INFO: [jpeg2yuv] Processing non-interlaced/interleaved WS000000.JPG, size 9699
  INFO: [jpeg2yuv] Rescaling color values.
  INFO: [jpeg2yuv] Processing non-interlaced/interleaved WS000001.JPG, size 9699
  INFO: [jpeg2yuv] Rescaling color values.
  INFO: [jpeg2yuv] Processing non-interlaced/interleaved WS000002.JPG, size 9699
  INFO: [jpeg2yuv] Rescaling color values.
  INFO: [jpeg2yuv] Processing non-interlaced/interleaved WS000003.JPG, size 10086
  INFO: [jpeg2yuv] Rescaling color values.
  INFO: [jpeg2yuv] Processing non-interlaced/interleaved WS000004.JPG, size 9998
  INFO: [jpeg2yuv] Rescaling color values.
  INFO: [jpeg2yuv] Processing non-interlaced/interleaved WS000005.JPG, size 9806
  INFO: [jpeg2yuv] Rescaling color values.
  INFO: [jpeg2yuv] Processing non-interlaced/interleaved WS000006.JPG, size 9838
  INFO: [jpeg2yuv] Rescaling color values.
  INFO: [jpeg2yuv] Processing non-interlaced/interleaved WS000007.JPG, size 9824
  INFO: [jpeg2yuv] Rescaling color values.
  INFO: [jpeg2yuv] Processing non-interlaced/interleaved WS000008.JPG, size 9921
  INFO: [jpeg2yuv] Rescaling color values.
  INFO: [jpeg2yuv] Processing non-interlaced/interleaved WS000009.JPG, size 9959
  INFO: [jpeg2yuv] Rescaling color values.
  INFO: [jpeg2yuv] Processing non-interlaced/interleaved WS000010.JPG, size 9541
  INFO: [jpeg2yuv] Rescaling color values.
  INFO: [jpeg2yuv] Processing non-interlaced/interleaved WS000011.JPG, size 9634
  INFO: [jpeg2yuv] Rescaling color values.
  INFO: [jpeg2yuv] Processing non-interlaced/interleaved WS000012.JPG, size 9687
  INFO: [jpeg2yuv] Rescaling color values.
  INFO: [jpeg2yuv] Processing non-interlaced/interleaved WS000013.JPG, size 9694
  INFO: [jpeg2yuv] Rescaling color values.
  INFO: [jpeg2yuv] Processing non-interlaced/interleaved WS000014.JPG, size 8944
  INFO: [jpeg2yuv] Rescaling color values.
  INFO: [jpeg2yuv] Processing non-interlaced/interleaved WS000015.JPG, size 9724
  INFO: [jpeg2yuv] Rescaling color values.
  INFO: [jpeg2yuv] Processing non-interlaced/interleaved WS000016.JPG, size 9438
  INFO: [jpeg2yuv] Rescaling color values.
  INFO: [jpeg2yuv] Processing non-interlaced/interleaved WS000017.JPG, size 9933
  INFO: [jpeg2yuv] Rescaling color values.
  INFO: [jpeg2yuv] Processing non-interlaced/interleaved WS000018.JPG, size 10822
  INFO: [jpeg2yuv] Rescaling color values.
  INFO: [jpeg2yuv] Processing non-interlaced/interleaved WS000019.JPG, size 10964
  INFO: [jpeg2yuv] Rescaling color values.
  INFO: [jpeg2yuv] Processing non-interlaced/interleaved WS000020.JPG, size 11083
  INFO: [jpeg2yuv] Rescaling color values.
  INFO: [jpeg2yuv] Processing non-interlaced/interleaved WS000021.JPG, size 10948
  INFO: [jpeg2yuv] Rescaling color values.
  INFO: [jpeg2yuv] Processing non-interlaced/interleaved WS000022.JPG, size 11214
  INFO: [jpeg2yuv] Rescaling color values.
  INFO: [jpeg2yuv] Processing non-interlaced/interleaved WS000023.JPG, size 10595
  INFO: [jpeg2yuv] Rescaling color values.
  INFO: [jpeg2yuv] Processing non-interlaced/interleaved WS000024.JPG, size 10976
  INFO: [jpeg2yuv] Rescaling color values.
  INFO: [jpeg2yuv] Processing non-interlaced/interleaved WS000025.JPG, size 10921
  INFO: [jpeg2yuv] Rescaling color values.
  INFO: [jpeg2yuv] Read from 'WS000026.JPG' failed:  No such file or directory
  INFO: [jpeg2yuv] No more frames.  Stopping.

¤È¤¤¤¦´¶¤¸¤ÇÀ®¸ù¡£

¼¡¤Ë¡¢¤³¤ì¤òFFmpeg¤Ç¤Á¤ã¤ó¤È½èÍý¤Ç¤­¤ë¤«¤É¤¦¤«³Îǧ¡£

¤Þ¤ºffmpeg¤Î¥¤¥ó¥¹¥È¡¼¥ë¡¡¢Í¡¡ÌÌÅݤʤΤÇyum¤Ç¥¤¥ó¥¹¥È¡¼¥ë¡Ê¸µ¥µ¥¤¥È¤Ï¥½¡¼¥¹¤«¤é¤¬´ðËܤ餷¤¤¡Ë¡£rpm¤¬¸«¤Ä¤«¤é¤Ê¤¤¤Î¤Ç¡¢¤³¤³¤ò»²¹Í¤Ë¤·¤¿¡£

rpm --import http://ATrpms.net/RPM-GPG-KEY.atrpms
vi /etc/yum.repos.d/atrpms.repo
¤³¤³¤«¤é¥Ú¡¼¥¹¥È
[atrpms]
name=Fedora Core $releasever - $basearch - ATrpms
baseurl=http://dl.atrpms.net/f$releasever-$basearch/atrpms/stable
gpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms
gpgcheck=1
¤³¤³¤Þ¤Ç¥Ú¡¼¥¹¥È
yum install ffmpeg

¤³¤ì¤Ç¤¦¤Þ¤¯¹Ô¤Ã¤¿¡£¸å¤Ç¥½¡¼¥¹¤¬Ìµ¤¤¤Èº¤¤ë¤«¤â¡£

¤½¤ì¤Ç¡¢ffmpeg¤ÎÆþÎϤòyuv4mpegpipe¤Ë¤·¤Æ¤ß¤ë¼Â¸³¡£

[yamanouc@oregano MJPEGtools]$ cat WS.yuv | ffmpeg -y -f yuv4mpegpipe -i - -target ntsc-dvd -aspect 4:3 WS.mpg
FFmpeg version 0.5-30.fc10, Copyright (c) 2000-2009 Fabrice Bellard, et al.
 configuration: --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/lib --mandir=/usr/share/man --enable-shared --enable-gpl
 --enable-postproc --enable-swscale --enable-avfilter --enable-avfilter-lavf --enable-pthreads --enable-x11grab --enable-vdpau
 --disable-avisynth --disable-libamr-nb --disable-libamr-wb --enable-libdc1394 --enable-libdirac --enable-libfaac
 --enable-libfaad --enable-libfaadbin --enable-libgsm --enable-libmp3lame --enable-libschroedinger
 --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid
 --extra-cflags=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
 --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables
 --disable- tripping --extra-cflags=-I/usr/include/nvidia-graphics --extra-ldflags=-L/usr/lib/nvidia-graphics
  libavutil     49.15. 0 / 49.15. 0
  libavcodec    52.20. 0 / 52.20. 0
  libavformat   52.31. 0 / 52.31. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  libavfilter    0. 4. 0 /  0. 4. 0
  libswscale     0. 7. 1 /  0. 7. 1
  libpostproc   51. 2. 0 / 51. 2. 0
  built on Mar 15 2009 14:10:20, gcc: 4.3.2 20081105 (Red Hat 4.3.2-7)
Input #0, yuv4mpegpipe, from 'pipe:':
  Duration: N/A, bitrate: N/A
    Stream #0.0: Video: rawvideo, yuv420p, 400x240, PAR 1:1 DAR 5:3, 10 tbr, 10 tbn, 10 tbc
Output #0, dvd, to 'WS.mpg':
    Stream #0.0: Video: mpeg2video, yuv420p, 720x480 [PAR 8:9 DAR 4:3], q=2-31, 6000 kb/s, 90k tbn, 29.97 tbc
Stream mapping:
  Stream #0.0 -> #0.0
frame=   75 fps=  0 q=2.0 Lsize=     586kB time=2.47 bitrate=1944.2kbits/s
video:560kB audio:0kB global headers:0kB muxing overhead 4.685941%

¤È¤¤¤¦¤ï¤±¤Ç¡¢¤½¤³¤½¤³À®¸ù¡£
Flash¥Ó¥Ç¥ª¡Êflv¡Ë¤Ë¤·¤¿¤¤¤Î¤Ç¡¢vcodec¤ò»ØÄꤹ¤ë¤È¡¢¡Ê¤³¤ÎÊÕ¤ÏFlash¤«¤é¥¢¥Ã¥×¥í¡¼¥É¤·¤¿Æ°²è¤òffmpeg¤Çflv¤ËÊÑ´¹¤·¤Æ¤ß¤¿(ºÇÄã¸Âư¤¯Ver)¤ò»²¹Í¡Ë

yamanouc@oregano MJPEGtools]$ cat WS.yuv | ffmpeg -y -f yuv4mpegpipe -i - -vcodec flv -aspect 4:3 WS.flv
FFmpeg version 0.5-30.fc10, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/lib --mandir=/usr/share/man --enable-shared
  --enable-gpl --enable-postproc --enable-swscale --enable-avfilter --enable-avfilter-lavf --enable-pthreads
  --enable-x11grab --enable-vdpau --disable-avisynth --disable-libamr-nb --disable-libamr-wb --enable-libdc1394
  --enable-libdirac --enable-libfaac --enable-libfaad --enable-libfaadbin --enable-libgsm --enable-libmp3lame
  --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libx264
  --enable-libxvid --extra-cflags=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
  --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables --disable- stripping
  --extra-cflags=-I/usr/include/nvidia-graphics --extra-ldflags=-L/usr/lib/nvidia-graphics
  libavutil     49.15. 0 / 49.15. 0
  libavcodec    52.20. 0 / 52.20. 0
  libavformat   52.31. 0 / 52.31. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  libavfilter    0. 4. 0 /  0. 4. 0
  libswscale     0. 7. 1 /  0. 7. 1
  libpostproc   51. 2. 0 / 51. 2. 0
  built on Mar 15 2009 14:10:20, gcc: 4.3.2 20081105 (Red Hat 4.3.2-7)
Input #0, yuv4mpegpipe, from 'pipe:':
  Duration: N/A, bitrate: N/A
    Stream #0.0: Video: rawvideo, yuv420p, 400x240, PAR 1:1 DAR 5:3, 10 tbr, 10 tbn, 10 tbc
Output #0, flv, to 'WS.flv':
    Stream #0.0: Video: flv, yuv420p, 400x240 [PAR 4:5 DAR 4:3], q=2-31, 200 kb/s, 90k tbn, 10 tbc
Stream mapping:
  Stream #0.0 -> #0.0
frame=   26 fps=  0 q=5.9 Lsize=     126kB time=2.60 bitrate= 396.7kbits/s
video:125kB audio:0kB global headers:0kB muxing overhead 0.469853%

°Ê¾å¤½¤³¤½¤³»È¤¨¤½¤¦¡£¤¿¤À¡¢FLV¥Õ¥¡¥¤¥ë¤ò¥Ñ¥¤¥×¤Ç¤­¤ë¤«¤É¤¦¤«¡Êapache¦¤¬¤½¤ì¤òǧ¤á¤ë¤«¤É¤¦¤«¡Ë¤ÏÉÔÌÀ¡£¥¹¥È¥ê¡¼¥àÍѤΥµ¡¼¥Ð¡¼¤¬É¬Íפ«¤Ê¡©

¤Þ¤¿¡¢HTML¦¤ÇFLV¤òÀ©¸æ¤¹¤ë¤¿¤á¤Ë¡Êswf¤ò»È¤ï¤Ê¤¤¤é¤·¤¤¡Ë¡ØAdobeÀ½¡¢Ajax¤ÇFLV¤òÀ©¸æ¤¹¤ë¥ª¡¼¥×¥ó¥½¡¼¥¹¡ÖFlash-Ajax Video Component¡×¡Ù¤È¤¤¤¦¤Î¤â¤¢¤ë¤è¤¦¤À¡£

08/02/11 oregano¤Ë¥Õ¥í¥ó¥È¥¨¥ó¥É

oregano¤Ï·×»»½èÍý¥µ¡¼¥Ð¡¼¤À¤¬¡¢¤½¤ì¤Ë¥Õ¥í¥ó¥È¥¨¥ó¥É¤òÄɲä·¤¿¤¤

ǧ¾Ú¤Ï°ì±þ³°Â¦¤Ç¤·¤Æ¤¢¤ë¤Î¤Ç¤¤¤¤¤Î¤«¤Ê¡©

£²¤Ä¥Õ¥¡¥¤¥ë¤ò¥¢¥Ã¥×¥í¡¼¥É¤¹¤ëɬÍפ¬¤¢¤ë¡£mtz¥Õ¥¡¥¤¥ë¤Èpdb¥Õ¥¡¥¤¥ë¡£

¥Õ¥¡¥¤¥ë̾¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¦¤Î¥Õ¥¡¥¤¥ë̾¤òÀ¸¤«¤¹¤È¡¢(1)´Á»ú¡¢(2)MS Windows¥Õ¥¡¥¤¥ë̾¤Ë¤¢¤ë¶õÇò¡¢¤¬UNIX¾å¤ÇÌäÂê¤Ë¤Ê¤ë¤Î¤¬¤¤¤ä¤À¡£
¤µ¤·Åö¤¿¤Ã¤Æ¡¢·ë²Ì¤µ¤¨ÊÖ¤»¤ì¤Ð¤¤¤¤¤Î¤Ç¡¢¥µ¡¼¥Ð¡¼Â¦¤Ç̾Á°¤òÉÕ¤±¤è¤¦¡£

Á´ÂΤÎή¤ì¤È¤·¤Æ¤Ï¡¢

¥Ñ¥é¥á¥¿ÀßÄê¡Ü¥¢¥Ã¥×¥í¡¼¥É¥Õ¥¡¥¤¥ë»ØÄê²èÌÌ
¡Ö¼Â¹Ô¡×¥Ü¥¿¥ó¤ò²¡¤¹¤È
mtz¥Õ¥¡¥¤¥ë¤Èpdb¥Õ¥¡¥¤¥ë¤¬¥¢¥Ã¥×¥í¡¼¥É¤µ¤ì¤Æ
¡¡¡¡¥·¥¹¥Æ¥à¤¬Å¬Åö¤ËÉÕ¤±¤¿¥Õ¥¡¥¤¥ë̾smpl01.mtz¤Èsmpl01.pdb¤Ë¤·¤Æ
¡¡¡¡¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ¤ò°ì±þ¥Á¥§¥Ã¥¯¤·¤Æ
¡¡¡¡epmr¤òµ¯Æ°¤¹¤ë¡¡¡¡mpirun -n 8 epmr LDH.mtz LDH.pdb¡¡¡Ê¤â¤Ã¤È¿¤¯¤Î¥Ñ¥é¥á¥¿¡Ë
¡¡¡¡¡¡¡¡¤½¤ÎÁ°¤Ë¡¢mpd¤òµ¯Æ°¤·¤Æ¤ª¤¯É¬Íפ¢¤ê
¡¡¡¡Àµ¾ï¤Ëµ¯Æ°¤µ¤ì¤¿¤é¡¢¡ÖÂԤäƤ͡ײèÌ̤ˤʤê¡Ê·×»»¿Ê¹ÔÃæ¤Ç¤¢¤ëɽ¼¨¤ò¤¹¤ë¡©¡Ë
·×»»¤¬½ª¤ï¤ë¤È
¡¡¡¡À¸À®¤µ¤ì¤¿pdb¥Õ¥¡¥¤¥ë¤ò¥À¥¦¥ó¥í¡¼¥É¤·¡¢¤«¤Ä
¡¡¡¡²èÌ̾å¤Ç²èÁüɽ¼¨¤¹¤ë¡ÊɬÍפ«¡©¡©¡Ë

SELinux¸ú²Ì¤Ç¡¢EPMR¤Î¼Â¹Ôµ¯Æ°¤¬½ÐÍè¤Ê¤¤¡£ÀßÄêÊѹ¹¡£

¥¢¥¯¥»¥¹¤¬¤È¤Æ¤âÃÙ¤¤¡£

PHP¤È¥»¥Ã¥·¥ç¥ó

EPMR¤Î¤¤¤í¤¤¤í¤Ê¥Ñ¥é¥á¥¿ÀßÄê¤ò¡¢¥æ¡¼¥¶¡Ê¥»¥Ã¥·¥ç¥ó¡Ë¤´¤È¤ËÊݸ¤·¤¿¤¤¡£ ¤½¤Î¤¿¤á¤Ë¤Ï¡¢¥»¥Ã¥·¥ç¥ó´ÉÍý¤¬É¬Íס£

PHP¤Ë¤Ï¥»¥Ã¥·¥ç¥ó´ÉÍý¤Îµ¡Ç½¤¬ÉÕ¤¤¤Æ¤¤¤ë¡£

LDAPǧ¾Ú¡¡¡Á¡Á¡Á¡¡¡Êapache¤Ç¤Ï¤Ê¤¯¤Æ¡ËPHP¤ÎÃæ¤Ç¼«Ê¬¤Ç¤ä¤ë¾ì¹ç

apache¤Ç¥Ú¡¼¥¸¥¢¥¯¥»¥¹»þ¤Ëǧ¾Ú¤¹¤ë¤È¤­¤Ï¡¢httpd.conf¤Ë½ñ¤¤¤Æ¤ª¤¯¤³¤È¤Ë¤Ê¤ë¡£
¤³¤ì¤Î·çÅÀ¤Ï¡¢PHP¥×¥í¥°¥é¥à¤ÎÃæ¤Çǧ¾Ú¾ðÊó¡Ê¥æ¡¼¥¶ID¤Ë¤»¤è¡¢LDAP¤Ë½ñ¤«¤ì¤¿ ÉÕ¿ï¾ðÊó¤Ë¤»¤è¡Ë¤¬¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤¡Ê¤â¤·¤¯¤ÏÊÌÅÓ¥¢¥¯¥»¥¹¤»¤Í¤Ð¤Ê¤é¤Ê¤¤¡Ë¤³¤È¡£
ÊÌÅÓ¥¢¥¯¥»¥¹¤â²Äǽ¤Ê¤Î¤À¤¬¡¢¥æ¡¼¥¶ID¤¬Ê¬¤«¤é¤Ê¤¤¤È¡¢ÊÌÅÓ¥¢¥¯¥»¥¹¤Î¤·Íͤ⤢¤ë¤Þ¤¤¡£

¤È¤¤¤¦¤³¤È¤Ç¡¢PHP¤ÎÃæ¤Çǧ¾Ú¤¹¤ë¡£¤³¤ì¤Ë¤Ï¥Ñ¥Ã¥±¡¼¥¸PEAR::Auth¤¬ÊØÍø¤½¤¦¡£

¤Ç¡¢¤³¤³¤Ë½Ð¤Æ¤¯¤ë¥µ¥ó¥×¥ë¤ò¼Â¸³¤·¤¿·ë²Ì¤¬¡¢

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>PHP LDAP test</title>
</head>

<body>

<?php
require_once "Auth/Auth.php";

//Function for showing LOGIN form
function loginFunction($username, $status) {
    if ($status == AUTH_WRONG_LOGIN) {
        print("Wrong User Name / Password<br>");
    }
    print("<form method=\"post\" action=\"" . $_SERVER['PHP_SELF'] . "\">");
    print("<table><tr><td>UserName</td><td>");
    print("<input type=\"text\" name=\"username\">");
    print("</td></tr><tr><td>Password</td><td>");
    print("<input type=\"password\" name=\"password\">");
    print("</td></tr><tr><td colspan=\"2\">");
    print("<input type=\"submit\" value=\"LOGIN\">");
    print("</td></tr></table>");
    print("</form>");
}

//Auth_Container_LDAP options
$authldapparams = array(
    "url"        => "ldap://ldap.toho-u.ac.jp:389",
    "basedn"     => "ou=RIGAKUBU,ou=GAKUSEI,dc=toho-u,dc=ac,dc=jp",
    "userfilter" => "(objectClass=*)",
    "attributes" => array('*')
     );

$authobj = new Auth ("LDAP", $authldapparams, "loginFunction");
$authobj->start();

if ($authobj->getAuth()) {
    print("Authorized <br>");
    $givenName = $authobj->getAuthData("givenName");
    $tohoAdGroup01 = $authobj->getAuthData("tohoAdGroup01");
    $tohoAdGroup02 = $authobj->getAuthData("tohoAdGroup02");
    $title         = $authobj->getAuthData("title");
    print("Name: " . $givenName . " Faculty: " . $tohoAdGroup02 . " Title: " . $title . "<br>");
}

?>
</body>
</html>

¥È¥Ã¥×   ÊÔ½¸ Åà·ë º¹Ê¬ ¥Ð¥Ã¥¯¥¢¥Ã¥× źÉÕ Ê£À½ ̾Á°Êѹ¹ ¥ê¥í¡¼¥É   ¿·µ¬ °ìÍ÷ ñ¸ì¸¡º÷ ºÇ½ª¹¹¿·   ¥Ø¥ë¥×   ºÇ½ª¹¹¿·¤ÎRSS
Last-modified: 2009-06-01 (·î) 12:15:07 (5049d)