7.4 ÊÓÆµ»Ø·Å

¹±Ï×ÕßRoss Lippert.

¡¡¡¡ÊÓÆµ»Ø·ÅÊǸöºÜв¢ÇÒѸËÙ·¢Õ¹ÖеÄÓ¦ÓÃÁìÓò¡£ Ò»¶¨ÒªÓÐÄÍÐÄ£¬ÒòΪ²»ÊÇËùÓеÄÊÂÇé¶¼Ïó´¦ÒôƵÄÇô˳Àû¡£

¡¡¡¡ÔÚ¿ªÊ¼Ö®Ç°£¬ÄúÒªÁ˽âÏÔ¿¨µÄÀàÐÍÒÔ¼°ËüËùÓõÄоƬµÄÀàÐÍ¡£ ¾¡¹Ü Xorg Ö§³Ö´óÁ¿µÄÏÔ¿¨£¬ µ«ÄÜ´ïµ½ºÃµÄ»Ø·ÅЧ¹ûµÄÈ´ÁÈÁÈÎÞ¼¸¡£ ÔÚX11ÔËÐÐʱ£¬Äú¿ÉÒÔʹÓÃÃüÁî xdpyinfo(1) »ñµÃʹÓÃÄúµÄÏÔ¿¨µÄX·þÎñÆ÷ËùÖ§³ÖµÄÀ©Õ¹ÁÐ±í¡£

¡¡¡¡ÎªÁËÆÀ¹À¸÷ÖÖ²¥·ÅÆ÷ºÍÉèÖã¬ÄúÐèÒªÓÐһС¶ÎÓÃ×÷²âÊÔµÄMPEGÎļþ¡£ ÓÉÓÚһЩDVD²¥·ÅÆ÷»áĬÈϵØÔÚ /dev/dvd ÀïÈ¥ÕÒDVDÎļþ£¬ Òò´Ë£¬ Äú»á·¢ÏÖ½¨Á¢·ûºÅÁ´½Óµ½Ç¡µ±µÄÉ豸»áºÜÓÐÓãº

# ln -sf /dev/acd0 /dev/dvd
# ln -sf /dev/acd0 /dev/rdvd

¡¡¡¡×¢Ò⣺ÓÉÓÚ devfs(5) ±¾ÉíµÄÔ­Òò£¬ ÏñÕâÑùÊÖ¹¤½¨Á¢µÄÁ´½ÓÔÚÖØÆôºó½«²»»á´æÔÚ¡£ ÏëÒªÎÞÂÛʲôʱºòÄúÆô¶¯ÏµÍ³¶¼ÄÜ×Ô¶¯½¨Á¢·ûºÅÁ´½Ó£¬ ÄǾͰÑϱßÕâÐмӵ½ /etc/devfs.conf Àï±ß£º

link acd0 dvd
link acd0 rdvd

¡¡¡¡ÁíÍ⣬DVD½âÃÜÒªÇóµ÷ÓÃרÓõÄDVD-ROMº¯Êý£¬ÒªÇó°ÑÐí¿É¶¨µ½DVDÉ豸Àï¡£

¡¡¡¡ÎªÁ˸ÄÉÆ X11 ½çÃæÊ¹Óù²ÏíÄÚ´æµÄÄÜÁ¦£¬ ½¨ÒéÌá¸ßһЩ sysctl(8) ±äÁ¿µÄÖµ£º

kern.ipc.shmmax=67108864
kern.ipc.shmall=32768

7.4.1 ²â¶¨ÊÓÆµµÄÐÔÄÜ

¡¡¡¡ÔÚX11ÏÂÓм¸ÖÖ¿ÉÒÔÏÔʾͼÏñµÄ·½Ê½¡£ µ½µ×ÄĸöÄܹ¤×÷ºÜ´ó³Ì¶ÈÉÏÒÀÀµÓÚÓ²¼þ¡£ Ê×ÏÈ£¬ ϱßÃèÊöµÄÿһÖÖ·½·¨ÔÚ²»Í¬µÄÓ²¼þÉ϶¼»áÓв»Í¬µÄÆ·ÖÊ¡£ Æä´Î£¬ ÔÚX11ÀïµÄͼÏñÏÔʾ½üÀ´ÒýÆðÆÕ±éµÄ¹Ø×¢£¬ Ëæ×Å Xorg µÄÿһ¸ö°æ±¾£¬ ¶¼»áÓкܴóµÄÍ»ÆÆ¡£

¡¡¡¡³£¼ûͼÏñ½Ó¿ÚÁÐ±í£º

  1. X11: Ò»°ãÐÔµÄʹÓù²ÏíÄÚ´æµÄX11Êä³ö¡£

  2. XVideo: Ò»ÖÖX11½Ó¿ÚÀ©Õ¹£¬Ö§³ÖÈκÎX11ͼÏñµÄ¿ÉÍÏÀ­¡£

  3. SDL: ¼òµ¥Ö±½ÓýÌå²ã¡£

  4. DGA: Ö±½ÓͼƬ´æÈ¡¡£

  5. SVGAlib: µÍ²ã´ÎÕÆ¿ØÍ¼Æ¬²ã¡£

7.4.1.1 XVideo

¡¡¡¡Xorg ÓÐÖÖÀ©Õ¹½Ð×ö XVideo (»ò³ÆXvideo, Xv, xv)£¬ Ëü¿ÉÒÔͨ¹ýÒ»¸öÌØÊâµÄ¼ÓËÙÆ÷Ö±½Ó°ÑͼÏñÏÔʾÔÚ¿ÉÍÏÀ­µÄ¶ÔÏóÀï¡£ ¼´Ê¹ÔڵͶ˵ļÆËã»ú (ÀýÈçÎÒµÄPIII 400 MhzÏ¥ÉϵçÄÔ)£¬ Õâ¸öÀ©Õ¹Ò²ÌṩÁ˺ܺõIJ¥·ÅÖÊÁ¿¡£

¡¡¡¡ÒªÁ˽âÕâÒ»À©Õ¹ÊÇ·ñÔÚÕý³£¹¤×÷£¬ ʹÓà xvinfo ÃüÁ

% xvinfo

¡¡¡¡Èç¹ûÏÔʾ½á¹ûÈçÏ£¬ÄÇÄúµÄÏÔ¿¨¾ÍÖ§³ÖXVideo£º

X-Video Extension version 2.2
screen #0
  Adaptor #0: "Savage Streams Engine"
    number of ports: 1
    port base: 43
    operations supported: PutImage 
    supported visuals:
      depth 16, visualID 0x22
      depth 16, visualID 0x23
    number of attributes: 5
      "XV_COLORKEY" (range 0 to 16777215)
              client settable attribute
              client gettable attribute (current value is 2110)
      "XV_BRIGHTNESS" (range -128 to 127)
              client settable attribute
              client gettable attribute (current value is 0)
      "XV_CONTRAST" (range 0 to 255)
              client settable attribute
              client gettable attribute (current value is 128)
      "XV_SATURATION" (range 0 to 255)
              client settable attribute
              client gettable attribute (current value is 128)
      "XV_HUE" (range -180 to 180)
              client settable attribute
              client gettable attribute (current value is 0)
    maximum XvImage size: 1024 x 1024
    Number of image formats: 7
      id: 0x32595559 (YUY2)
        guid: 59555932-0000-0010-8000-00aa00389b71
        bits per pixel: 16
        number of planes: 1
        type: YUV (packed)
      id: 0x32315659 (YV12)
        guid: 59563132-0000-0010-8000-00aa00389b71
        bits per pixel: 12
        number of planes: 3
        type: YUV (planar)
      id: 0x30323449 (I420)
        guid: 49343230-0000-0010-8000-00aa00389b71
        bits per pixel: 12
        number of planes: 3
        type: YUV (planar)
      id: 0x36315652 (RV16)
        guid: 52563135-0000-0000-0000-000000000000
        bits per pixel: 16
        number of planes: 1
        type: RGB (packed)
        depth: 0
        red, green, blue masks: 0x1f, 0x3e0, 0x7c00
      id: 0x35315652 (RV15)
        guid: 52563136-0000-0000-0000-000000000000
        bits per pixel: 16
        number of planes: 1
        type: RGB (packed)
        depth: 0
        red, green, blue masks: 0x1f, 0x7e0, 0xf800
      id: 0x31313259 (Y211)
        guid: 59323131-0000-0010-8000-00aa00389b71
        bits per pixel: 6
        number of planes: 3
        type: YUV (packed)
      id: 0x0
        guid: 00000000-0000-0000-0000-000000000000
        bits per pixel: 0
        number of planes: 0
        type: RGB (packed)
        depth: 1
        red, green, blue masks: 0x0, 0x0, 0x0

¡¡¡¡Í¬Ê±×¢Ò⣺ÁгöÀ´µÄ¸ñʽ(YUV2, YUV12, µÈµÈ) ²¢²»×ÜÊÇËæ×Å XVdieoµÄÿһ´ÎÖ´Ðжø´æÔÚ¡£Ã»ÓÐËüÃÇ¿ÉÄÜ»áÃÔ»óijЩÈË¡£

¡¡¡¡Èç¹û½á¹û¿´ÆðÀ´ÊÇÕâÑù£º

X-Video Extension version 2.2
screen #0
no adaptors present

¡¡¡¡ÄÇôÄúµÄÏÔ¿¨¿ÉÒԾͲ»Ö§³ÖXVideo¹¦ÄÜ¡£

¡¡¡¡Èç¹ûÄúµÄ¿¨²»Ö§³ÖXVideo£¬ ÔòÖ»ÊÇ˵Ã÷ÄúµÄÏÔʾÆ÷ÔÚÂú×ãË¢ÐÂͼÏñµÄ¼ÆËãÒªÇóÉÏ´æÔÚ¸ü´óµÄÀ§ÄÑ¡£ ¾¡¹ÜÏÔ¿¨ºÍ´¦ÀíÆ÷ºÜÖØÒª£¬ÄúÈÔÈ»»áÓиö²»´íµÄÏÔʾЧ¹û¡£ ´ËÍ⣬ ÄúÒ²¿ÉÒԲο¼ÎÒÃÇÌṩµÄÎÄÏ×£¬ ÔÚ µÚ 7.4.3 ½Ú ÖÐÓÐËù½éÉÜ¡£

7.4.1.2 ¼òµ¥Ö±½ÓýÌå²ã

¡¡¡¡¼òµ¥Ö±½ÓýÌå²ã(SDL)£¬Ô­ÒâÊÇ×öΪ Microsoft® Windows®¡¢BeOS ÒÔ¼° UNIX® Ö®¼äµÄ¶Ë¿Ú²ã£¬ÔÊÐí¿çƽ̨ӦÓ÷¢Õ¹£¬¸ü¸ßЧµØÀûÓÃÉù¿¨ºÍͼÐο¨¡£SDL ²ã¿ÉÒÔÔڵͲã·ÃÎÊÓ²¼þ£¬ ÓÐʱÕâÑù×ö¾Í±È X11 ½Ó¿Ú²ã¸üΪ¸ßЧ¡£

¡¡¡¡¹ØÓÚ SDL£¬ ¿ÉÒԲο¼ devel/sdl12¡£

7.4.1.3 Ö±½ÓͼÐδæÈ¡

¡¡¡¡Ö±½ÓͼÐδæÈ¡ (Direct Graphics Access) ÊÇÒ»ÖÖ X11 À©Õ¹£¬ ͨ¹ýËü£¬ Ó¦ÓóÌÐòÄܹ»Èƹý X ·þÎñ£¬ ²¢Ö±½ÓÐ޸Ļ­Ã滺´æ (framebuffer)¡£ ÓÉÓÚËüÒÀÀµÒ»ÖֵײãµÄÄÚ´æÓ³ÉäÀ´ÊµÏ֯书ÄÜ£¬ Òò´ËʹÓÃËüµÄ³ÌÐò±ØÐëÒÔ root Éí·ÝÀ´Ö´ÐС£

¡¡¡¡DGA À©Õ¹¿ÉÒÔͨ¹ý dga(1) À´Íê³É²âÊÔºÍÐÔÄܲâÁ¿¡£ ÔËÐÐ dga ʱ£¬ Ëü½«Ëæ°´¼ü¸Ä±äÏÖʵµÄÑÕÉ«¡£ °´ q Í˳öÕâ¸ö³ÌÐò¡£

7.4.2 Ports ºÍ °ü(Packages) ¶ÔÊÓÆµµÄ½â¾ö

¡¡¡¡Õⲿ·ÝÖ÷ÒªÌÖÂÛÔÚ FreeBSD Ports ¼¯ÖÐÌṩµÄ¿ÉÓÃÓÚÊÓÆµ»Ø·ÅµÄÈí¼þ¡£ ÊÓÆµ»Ø·ÅÔÚÈí¼þ·¢Õ¹ÖÐÊǸöºÜ»îÔ¾µÄÁìÓò£¬ ²¢ÇÒ¸÷ÖÖ²»Í¬³ÌÐòµÄ¹¦ÄÜ¿ÉÄÜÓëÕâÀïµÄÃèÊö²»¾¡Ïàͬ¡£

¡¡¡¡Ê×ÏÈҪŪÇå³þµÄÖØÒªÒ»µãÊÇÔÚ FreeBSD ÉÏʹÓõÄÊÓÆµ³ÌÐòÆä·¢Õ¹ÓëÔÚ Linux ÀïʹÓõÄÊÇÒ»ÑùµÄ¡£ ´ó²¿·Ý³ÌÐò¶¼»¹´¦Ôڦ½׶Ρ£Ê¹Óà FreeBSD µÄ°ü¿ÉÄÜÃæ¶ÔµÄÎÊÌ⣺

  1. Ò»¸öÓ¦ÓóÌÐò²»Äܲ¥·ÅÆäËü³ÌÐòÖÆ×÷µÄÎļþ¡£

  2. Ò»¸öÓ¦ÓóÌÐò²»Äܲ¥·ÅÆä×ÔÒÑÖÆ×÷µÄÎļþ¡£

  3. ²»Í¬»úÉϵÄͬÑùµÄ³ÌÐò£¬¸÷×ÔÖØÐ½¨Á¢(rebuild)ÁËÒ»´Î£¬ ²¥·Åͬһ¸öÎļþ½á¹ûÒ²»áÓв»Í¬¡£

  4. Ò»¸ö¿´ÆðÀ´Ã»Ê²Ã´µÄ¹ýÂËÆ÷£¬ ÈçͼÏñ³ß´çµÄµ÷Õû£¬ Ò²ÓпÉÄÜÒòΪһ¸öµ÷ÕûÀý³ÌµÄÎÊÌâ±äµÃºÜ²»ÏóÑù¡£

  5. Ó¦ÓóÌÐòƵ·±µØÁôÏÂÀ¬»ø(dumps core)¡£

  6. ûÓÐËæ port Ò»Æð°²×°µÄÎĵµ¿ÉÒÔÔÚÍøÉÏ»òÕß port µÄ work Ŀ¼ÖÐÕÒµ½¡£

¡¡¡¡ÕâЩ³ÌÐòÖÐÐí¶àÒ²ÌåÏÖÁË ¡°LinuxÖ÷Ò塱¡£¼´£¬ ÓÐЩÎÊÌâÀ´×ÔÓÚ(³ÌÐò)ʹÓõıê×¼¿â´æÔÚÓÚLinuxµÄ·¢ÐаæÖУ¬ »òÕßÓÐЩÊÇ Linux Äں˵ŦÄÜ£¬ ¶ø¸Ã³ÌÐòµÄ×÷ÕßÊÂÏÈËù¼Ù¶¨Á˵ÄÊÇ LinuxÄںˡ£ÕâЩÎÊÌâ²¢²»×ÜÊDZ» port ±à»¤ÈËÔ±×¢Òâµ½»ò´¦Àí¹ý£¬ ÕâÒ²¾Í¿ÉÄܵ¼ÖÂÈçÏÂÎÊÌ⣺

  1. ʹÓÃ/proc/cpuinfoÈ¥¼ì²â´¦ÀíÆ÷µÄÌØÐÔ¡£

  2. ÀÄÓÃÏ߳̿ÉÄܵ¼ÖÂÒ»¸ö³ÌÐòÐü¹ÒÍê³É£¬¶ø²»ÊÇÍêÈ«ÖÐÖ¹¡£

  3. Èí¼þ»¹²»ÊôÓÚFreeBSD Ports¼¯£¬¶øÓÖÓëÆäËü³ÌÐò¾­³£µØÒ»ÆðʹÓá£

¡¡¡¡ÏÖÔÚ£¬ÕâЩ³ÌÐòµÄ¿ª·¢ÈËÔ±Ò²ÒÑͬ port µÄά»¤ÈËÔ±½øÐÐÁËÁªºÏ£¬ ÒÔ¼õÉÙÖÆ×÷portʱ³ö´í¡£

7.4.2.1 MPlayer

¡¡¡¡MPlayer ÊǽüÀ´¿ª·¢µÄͬʱҲÕýѸËÙ·¢Õ¹×ŵÄÒ»¸öÊÓÆµ²¥·ÅÆ÷¡£ MPlayer ÍŶӵÄÄ¿±êÊÇÔÚ Linux ºÍÆäËü UNIX ϵͳÖеÄËٶȺͻú¶¯ÐÔÄÜ¡£ ÔÚÍŶӵĴ´Ê¼ÈËʵÔÚÊܲ»Á˵±Ê±¿ÉÓõIJ¥·ÅÆ÷µÄÐÔÄÜʱ£¬ Õâ¸ö¼Æ»®¾Í¿ªÊ¼ÁË¡£ ÓÐÈËÒ²Ðí»á˵ͼÐνӿÚÒѾ­³ÉΪÐÂÐÍÉè¼ÆµÄÎþÉüÆ·¡£ µ«ÊÇÒ»µ©Äúϰ¹ßÁËÃüÁîÐÐÑ¡ÏîºÍ°´¼ü¿ØÖÆ·½Ê½£¬Ëü¾ÍÄܱíÏֵúܺá£

7.4.2.1.1 ´´½¨MPlayer

¡¡¡¡MPlayer ¿ÉÒÔ´Ó multimedia/mplayer ÕÒµ½¡£ MPlayer ÔÚÁª±à¹ý³ÌÖÐ»á½øÐÐÐí¶àÓ²¼þ¼ì²â£¬ ¶øµÃµ½µÄ¿ÉÖ´ÐÐÎļþÒò´Ë½«ÎÞ·¨ÒÆÖ²µ½ÆäËûϵͳÖÐʹÓᣠÒò´Ë£¬ ´Ó ports Íê³ÉÁª±à¶ø²»Êǰ²×°Ô¤±àÒëµÄ°ü¾ÍºÜÖØÒª¡£ ÁíÍ⣬ ÔÚ make ÃüÁîÐл¹¿ÉÒÔÖ¸¶¨Ðí¶àÑ¡Ï ÔÚ Makefile ÖÐÓÐËùÃèÊö£¬ ½ÓÏÂÀ´ÎÒÃÇ¿ªÊ¼Áª±à£º

# cd /usr/ports/multimedia/mplayer
# make
N - O - T - E

Take a careful look into the Makefile in order
to learn how to tune mplayer towards you personal preferences!
For example,
make WITH_GTK1
builds MPlayer with GTK1-GUI support.
If you want to use the GUI, you can either install
/usr/ports/multimedia/mplayer-skins
or download official skin collections from
http://www.mplayerhq.hu/homepage/dload.html

¡¡¡¡Ä¬È쵀 port Ñ¡Ïî¶ÔÓÚ¾ø´ó¶àÊýÓû§À´ËµÊǹ»ÓÃÁË¡£ ²»¹ý£¬ Èç¹ûÄúÐèÒª XviD ±à½âÂëÆ÷£¬ Ôò±ØÐëÖ¸¶¨ WITH_XVID Õâ¸öÃüÁîÐÐÑ¡Ïî¡£ ĬÈ쵀 DVD É豸Ҳ¿ÉÒÔÓà WITH_DVD_DEVICE Ñ¡ÏîÀ´¶¨Ò壬 ÆäĬÈÏÖµÊÇ /dev/acd0¡£

¡¡¡¡×«Ð´ÕâÒ»ÕµÄʱºò£¬ MPlayer port µÄÁª±à¹ý³Ì°üÀ¨ÁË HTML ÎĵµºÍÁ½¸ö¿ÉÖ´ÐÐÎļþ£¬ mplayer ºÍ mencoder£¬ ºóÕßÊÇÒ»¸öÊÓÆµÔÙ±àÂ빤¾ß¡£

¡¡¡¡MPlayer µÄ HTML ÎĵµÌṩÁ˷ḻµÄÄÚÈÝ¡£ Èç¹û¶ÁÕß·¢ÏÖ±¾ÕÂÖÐȱÉÙ¹ØÓÚÊÓÆµÓ²¼þµÄһЩÐÅÏ¢£¬ Ôò MPlayer µÄÎĵµ½«ÊÇÊ®·ÖÏ꾡µÄ²¹³ä¡£ Èç¹ûÄúÕýÔÚÕÒ¹ØÓÚ UNIX ÖеÄÊÓÆµÖ§³ÖµÄ×ÊÁÏ£¬ Äú¾ø¶ÔÓ¦¸Ã»¨Ò»Ð©Ê±¼äÀ´ÔĶÁ MPlayer µÄÎĵµ¡£

7.4.2.1.2 ʹÓÃMPlayer

¡¡¡¡ÈκΠMPlayer Óû§±ØÐëÔÚÆäÓû§Ö÷Ŀ¼Ï½¨Á¢Ò»¸ö½Ð .mplayer µÄ×ÓĿ¼¡£ ÊäÈëϱߵÄÄÚÈÝÀ´½¨Á¢Õâ¸ö±ØÐëµÄ×ÓĿ¼£º

% cd /usr/ports/multimedia/mplayer
% make install-user

¡¡¡¡ÔÚ mplayer µÄÊÖ²áÀïÁгöÁËËüµÄÃüÁîÑ¡Ïî¡£ HTMLÎĵµÀïÓиüΪÏêϸµÄÐÅÏ¢¡£ Õⲿ·ÝÀ ÎÒÃÇÖ»ÊÇÃèÊöÁ˺ÜÉٵij£¼ûÓ¦Óá£

¡¡¡¡Òª²¥·ÅÒ»¸öÎļþ£¬Èç testfile.avi£¬ ¿ÉÒÔͨ¹ý¸÷ÖÖÊÓÆµ½Ó¿Úµ±ÖеÄijһ¸öÈ¥ÉèÖà -vo Ñ¡Ï

% mplayer -vo xv testfile.avi
% mplayer -vo sdl testfile.avi
% mplayer -vo x11 testfile.avi
# mplayer -vo dga testfile.avi
# mplayer -vo 'sdl:dga' testfile.avi

¡¡¡¡ËùÓÐÕâЩѡÏî¶¼ÊÇÖµµÃÒ»ÊԵģ¬ ÒòΪËüÃǵÄÐÔÄÜÒÀÀµºÜ¶àÒòËØ£¬²¢ÇÒ¶¼ÓëÓ²¼þÃÜÇÐÏà¹Ø¡£

¡¡¡¡Òª²¥·Å DVD£¬ ÐèÒª°Ñ testfile.avi ¸ÄΪ dvd://N -dvd-device DEVICE¡£ ÕâÀï N ÊÇÒª²¥·ÅµÄ½ÚÄ¿±àºÅ£¬ ¶ø DEVICE ÔòÊÇ DVD-ROM µÄÉ豸½Úµã¡£ ÀýÈ磬 Òª²¥·Å /dev/dvd µÄµÚÈý¸ö½ÚÄ¿£º

# mplayer -vo xv dvd://3 -dvd-device /dev/dvd

×¢Òâ: ¿ÉÒÔÔÚ±àÒë MPlayer ʱ£¬ ͨ¹ý WITH_DVD_DEVICE À´Ö¸¶¨Ä¬È쵀 DVD É豸¡£ ϵͳÄÚ¶¨µÄĬÈÏÉ豸ÊÇ /dev/acd0¡£ ¸ü¶àϸ½Ú£¬ Çë²Î¿¼ port µÄ Makefile¡£

¡¡¡¡ÒªÍ£Ö¹¡¢ÔÝÍ£¡¢Ç°½øµÈµÈ£¬¿ÉÒԲο¼É趨µÄ°´¼ü---ÕâЩ¿ÉÒÔͨ¹ý mplayer -h µÃµ½»ò²é¿´Êֲᡣ

¡¡¡¡ÁíÍ⣬»Ø·ÅµÄÖØÒªÑ¡ÏîÊÇ£ºÓÃÓÚÈ«ÆÁģʽµÄ -fs -zoom ºÍÆð¸¨ÖúÍê³É×÷ÓõÄ-framedrop¡£

¡¡¡¡ÎªÁËÈà mplayer µÄÃüÁîÐв»ÊÇÌ«³¤£¬Ê¹ÓÃÕß¿ÉÒÔͨ¹ý½¨Á¢Ò»¸öÎļþ .mplayer/config À´É趨ÈçÏÂĬÈÏÑ¡Ï

vo=xv
fs=yes
zoom=yes

¡¡¡¡×îºó£¬mplayer ¿ÉÒÔ°ÑDVDÌâÄ¿(title)ץȡ³ÉΪ .vob Îļþ¡£ÎªÁË´ÓDVDÖе¼³öµÚ¶þ¸öÌâÄ¿£¬ÇëÊäÈ룺

# mplayer -dumpstream -dumpfile out.vob dvd://2 -dvd-device /dev/dvd

¡¡¡¡Êä³öÎļþ out.vob ½«ÊÇ MPEG ²¢ÇÒ¿ÉÒÔ±»Õⲿ·ÝÃèÊöµÄÆäËü ¡°°ü¡± ÀûÓá£

7.4.2.1.3 mencoder

¡¡¡¡ÔÚʹÓà mencoder ֮ǰ£¬ Ê×ÏÈÊìϤÆä HTML ÎĵµÖÐËù½éÉܵÄÑ¡ÏîÊÇÒ»¸ö²»´íµÄÖ÷Òâ¡£ ËüÌṩÁËÁª»úÊֲᣬ µ«Èç¹ûûÓÐ HTML ÎĵµÔò°ïÖú²»´ó¡£ ÓÐÎÞÊýÖÖ·½·¨À´Ìá¸ßÊÓÆµÆ·ÖÊ¡¢ ½µµÍ±ÈÌØÂÊ¡¢ Ð޸ĸñʽ£¬ ¶øÕâЩ¼¼ÇÉ¿ÉÄÜ»áÓ°ÏìÐÔÄÜ¡£ ÏÂÃæÊǼ¸¸öÀý×Ó£¬ µÚÒ»¸öÊǼòµ¥µØ¸´ÖÆ£º

% mencoder input.avi -oac copy -ovc copy -o output.avi

¡¡¡¡²»ÕýÈ·µÄÃüÁîÑ¡Ïî×éºÏ¿ÉÄÜʹÉú³ÉµÄÎļþ²»Äܱ» mplayer ²¥·Å¡£Òò´Ë£¬Èç¹ûÄúÖ»ÊÇÏëץȡÎļþ£¬ Ò»¶¨ÔÚ mplayer ÀïʹÓà ¡°-dumpfile¡±¡£

¡¡¡¡×ª»» input.avi ³ÉΪ´øÓÐMPEG3ÒôƵ±àÂë (ÒªÇó audio/lame ) µÄMPEG4±àÂ룺

% mencoder input.avi -oac mp3lame -lameopts br=192 \
         -ovc lavc -lavcopts vcodec=mpeg4:vhq -o output.avi

¡¡¡¡ÕâÑù¾Í²úÉúÁ˿ɱ» mplayer ºÍ xine²¥·ÅµÄÊä³ö¡£

¡¡¡¡input.avi ¿ÉÒÔ»»³É dvd://1 -dvd-device /dev/dvd ²¢ÒÔ root µÄÉí·ÝÀ´Ö´ÐУ¬ ÒÔÖØÐÂ¶Ô DVD ½ÚÄ¿½øÐбàÂë¡£ ÓÉÓÚÄúµÚÒ»´Î×öÕâÑùµÄ¹¤×÷ʱºÜ¿ÉÄÜ»á¶Ô½á¹û²»Ì«ÂúÒ⣬ ½¨ÒéÄúÊ×ÏȰѽÚÄ¿¸´ÖƳÉÎļþ£¬ È»ºó¶ÔËü½øÐвÙ×÷¡£

7.4.2.2 xineÊÓÆµ²¥·ÅÆ÷

¡¡¡¡xine ÊÓÆµ²¥·ÅÆ÷ÊÇÒ»¸ö¹Ø×¢·¶Î§ºÜ¹ãµÄÏîÄ¿£¬ Ëü²»½ö¿´×¼¶àºÏÒ»µÄÊÓÆµ½â¾ö£¬ ¶øÇÒ³öÆ·ÁËÒ»¸ö¿ÉÔÙÓõĻù±¾¿âºÍÒ»¸ö¿ÉÀ©Õ¹²å¼þµÄ¿ÉÖ´ÐÐÄ£¿é¡£ ·¢ÐÐÓÐ ¡°°ü¡± ºÍport°æ±¾-- multimedia/xine¡£

¡¡¡¡xine ²¥·ÅÆ÷ÈÔÈ»ºÜ´Ö²Ú£¬ µ«ÕâºÜÏÔÈ»ÓëºÃ¿ªÍ·Î޹ء£Êµ¼ÊÉÏ xine ÒªÇóÄãÓпìËÙµÄ CPU ºÍ¿ìËÙµÄÏÔ¿¨À´ÔËÐУ¬»òÕßÐèÒªÖ§³Ö XVideo À©Õ¹¡£ ͼÐνçÃæ(GUI)¿ÉÒÔʹÓ㬵«ºÜÃãÇ¿¡£

¡¡¡¡µ½Ð´ÕâÕÂʱ£¬»¹Ã»ÓпÉÓÃÓÚ²¥·ÅCSS±àÂëµÄDVDÎļþµÄÊäÈëÄ£¿éËæÍ¬ xine Ò»Æð·¢ÐС£ µÚÈý·½µÄ½¨Ôì(builds)ÀïÄÚ½¨ÓÐÕâÑùµÄÄ£¿é£¬ µ«¶¼²»ÊôÓÚFreeBSD Ports ¼¯¡£

¡¡¡¡ÓëMPlayer Ïà±È£¬ xine ΪÓû§¿¼Âǵøü¶à£¬ µ«Í¬Ê±£¬¶ÔÓû§À´ËµÒ²ÉÙÁ˺ܶàÓÐÌõÀíµÄ¿ØÖÆ·½Ê½¡£ xine ²¥·ÅÆ÷ÔÚXVideo½Ó¿ÚÉÏ×öµÃ²»´í¡£

¡¡¡¡Ä¬ÈÏÇé¿öÏ£¬²¥·ÅÆ÷ xine Æô¶¯µÄʱºò»áʹÓÃͼÐνçÃæ¡£ÄÇô¾Í¿ÉÒÔʹÓò˵¥´ò¿ªÖ¸¶¨µÄÎļþ£º

% xine

¡¡¡¡ÁíÍ⣬ûÓÐͼÐνçÃæÒ²¿ÉÒÔʹÓÃÈçÏÂÃüÁîÁ¢¼´´ò¿ª²¥·ÅÎļþ£º

% xine -g -p mymovie.avi

7.4.2.3 ʹÓÃtranscode

¡¡¡¡transcode Õâ¸öÈí¼þ²¢²»ÊDz¥·ÅÆ÷£¬ ¶øÊÇһϵÁÐÓÃÓÚ¶ÔÊÓÆµºÍÒôƵÎļþ½øÐÐÖØÐ±àÂëµÄ¹¤¾ß¡£ ͨ¹ýʹÓà transcode£¬ ¾Í¿ÉÒÔÓµÓÐʹÓôø stdin/stdout ½Ó¿ÚµÄÃüÁîÐй¤¾ßÀ´ºÏ²¢ÊÓÆµÎļþ£¬ ÒÔ¼°ÐÞ¸´»µËðÎļþµÄÄÜÁ¦¡£

¡¡¡¡ÔÚÁª±à multimedia/transcode port ʱ¿ÉÒÔÖ¸¶¨´óÁ¿Ñ¡Ï ÎÒÃǽ¨ÒéʹÓÃÏÂÃæµÄÃüÁîÐÐÀ´¹¹½¨ transcode£º

# make WITH_OPTIMIZED_CFLAGS=yes WITH_LIBA52=yes WITH_LAME=yes WITH_OGG=yes \
WITH_MJPEG=yes -DWITH_XVID=yes

¡¡¡¡¶ÔÓÚ¶àÊýÓû§¶øÑÔ£¬ ǰÊöÅäÖÃÒѾ­×ã¹»ÁË¡£

¡¡¡¡ÎªÁË˵Ã÷ transcode µÄ¹¦ÄÜ£¬ ÏÂÃæµÄÀý×ÓչʾÁËÈçºÎ½« DivX ת»»Îª PAL MPEG-1 Îļþ (PAL VCD)£º

% transcode -i input.avi -V --export_prof vcd-pal -o output_vcd
% mplex -f 1 -o output_vcd.mpg output_vcd.m1v output_vcd.mpa

¡¡¡¡Éú³ÉµÄ MPEG Îļþ£¬ output_vcd.mpg£¬ ¿ÉÒÔͨ¹ý MPlayer À´²¥·Å¡£ ÄúÉõÖÁ¿ÉÒÔÖ±½Ó½«Õâ¸öÎļþ¿Ì¼µ½ CD-R ½éÖÊÉÏÀ´´´½¨ Video CD£¬ Èç¹ûÏ£ÍûÕâÑù×öµÄ»°£¬ ÐèÒª°²×° multimedia/vcdimager ºÍ sysutils/cdrdao ÕâÁ½¸ö³ÌÐò¡£

¡¡¡¡transcode ÌṩÁËÁª»úÊֲᣬ µ«ÄúÈÔÓ¦²Î¿¼ transcode wiki ÒÔÁ˽â¸ü¶àÐÅÏ¢ºÍÀý×Ó¡£

7.4.3 ½øÒ»²½Á˽â

¡¡¡¡FreeBSDÀﲻͬµÄÊÓÆµÈí¼þ°üÕýѸËÙ·¢Õ¹ÖС£ ºÜ¿ÉÄÜÔÚ²»¾ÃµÄ½«À´£¬ÕâÀïËù̸µ½µÄÎÊÌâ¶¼½«µÃµ½½â¾ö¡£ ͬʱ£¬ÓÐЩÈËÏ볬ԽFreeBSDµÄÒô/Ïñ(A/V)ÄÜÁ¦£¬ ÄÇËûÃǾͲ»µÃ²»´ÓһЩFAQºÍÖ¸ÄÏÀïѧ֪ʶ£¬ ²¢Ê¹ÓÃһЩ²»Í¬µÄÓ¦ÓóÌÐò¡£ ÕâÀï¾Í¸øÕâЩ¶ÁÕßÖ¸³öһЩ²¹³äÐÅÏ¢¡£

¡¡¡¡ MPlayer Îĵµ ÊǺܼ¼ÊõÐԵġ£ ÕâЩÎĵµ¿ÉÒÔ¸øÄÇЩϣÍû»ñµÃ¹ØÓÚUNIXÊÓÆµ¸ß¼¶¼¼ÊõµÄÈËÃÇÌṩ²Î¿¼¡£ MPlayer ÓʼþÁбíºÜ²»Ï²»¶Ã»ÄÍÐÄÔĶÁÎĵµµÄÈË£¬ Èç¹ûÄú·¢ÏÖʲôÎÊÌâÏ뱨¸æ¸øËûÃÇ£¬ÇëÊ×ÏÈRTFM¡£

¡¡¡¡xine HOWTO Àï±ßÓÐÒ»ÕÂÊǹØÓÚÌá¸ßÐÔÄܵ쬶ÔËùÓеIJ¥·ÅÆ÷¶¼ºÜÊÊÓ¦¡£

¡¡¡¡×îºóÊÇһЩºÜÓÐǰ;µÄ³ÌÐò£¬¶ÁÕß¿ÉÒÔÊÔһϣº

±¾ÎĵµºÍÆäËüÎĵµ¿É´ÓÕâÀïÏÂÔØ£ºftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Èç¹û¶ÔÓÚFreeBSDÓÐÎÊÌ⣬ÇëÏÈÔĶÁÎĵµ£¬Èç²»Äܽâ¾öÔÙÁªÏµ<questions@FreeBSD.org>.
¹ØÓÚ±¾ÎĵµµÄÎÊÌâÇë·¢ÐÅÁªÏµ <doc@FreeBSD.org>.