Personal tools
You are here: Home development APIDoku
Views

Edit history

Edit: -1 of 1
Time: 2007-07-25 11:11:59
Note: /pd/pd/dev/APIDoku/edit

changed:
-
Documentation of the various IO !APIs:

!GStreamer

  !GStreamer uses a plugin system and is divided into 5 plugin modules:
   
  - base: basis video/audio function (like colorspace conversion, video4linux, ...), see http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-plugins/html/
   
  - good: well-maintained plugins which everyone can distribute without fear of potential legal issues, see http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good-plugins/html/

  - ugly: well-maintained plugins which may have legal issues of some form (like e.g. mp3 encoding ...), see http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-ugly-plugins/html/

  - bad: an incubation area where new plugins mature before moving to good or ugly, see http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-plugins/html/

  - ffmpeg: link to the ffmpeg lib, see http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-ffmpeg-plugins/html/

  Some worth reading resources:

  - small introduction: http://www-128.ibm.com/developerworks/aix/library/au-gstreamer.html?ca=dgr-lnxw07GStreamer

  - features: http://gstreamer.freedesktop.org/documentation/gstreamer010.html

  - gsteamer application development manual: http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/index.html

  - overview of all plugins: http://gstreamer.freedesktop.org/documentation/plugins.html


!FFmpeg

  Supported formats
  
    See: http://ffmpeg.mplayerhq.hu/ffmpeg-doc.html#SEC22
  
  Access
  
    Reading:
      Good documentation at: http://www.inb.uni-luebeck.de/~boehme/using_libavcodec.html
    
      
Quicktime4Linux

  Supported Formats
    
    see: http://heroinewarrior.com/quicktime/codecs.html
  
  Access
    
    Reading:

      -quicktime_check_sig("path");

         Checks if it is a Quicktime-movie

      -file = quicktime_open("test.mov", 1, 0));
        
       Opens the file; 2nd argumet for read acces, 3rd for write access

      -int quicktime_supported_video(quicktime_t *file, int track);
        
        Checks if the data of the track can be decoded
      
      -void quicktime_set_cmodel(quicktime_t *file, int colormodel);
      
        Sets colormodel before decoding (default is BC_RGB888)
      
      -long quicktime_decode_video(quicktime_t *file, unsigned char **row_pointers, int track);
       
       Decodes the video frame into a buffer (**row_pointers) and advances the current position.
      
      -int quicktime_set_video_position(quicktime_t *file, long frame, int track);
      
       Sets the position of the video track
      
      -int quicktime_seek_end(quicktime_t *file);

        Seeks all track to their end
       
      -int quicktime_seek_start(quicktime_t *file);
        
        Seeks all track to their start
      
      -quicktime_close(quicktime_t *file);
        
        Closes the file
        
    Writing:
      
      -quicktime_set_video(quicktime_t *file, int tracks, int frame_w, int frame_h, float frame_rate, char *compressor);
        
        Sets up tracks to write to at an opened file; for the librarys build-in compressor you can 
        specify a compressor #define from quicktime.h as this argument.
      
      -int quicktime_supported_video(quicktime_t *file, int track);
        
        After setting up tracks you should check if the codec of the track is in the library
      
      -int quicktime_writes_cmodel(quicktime_t *file, int colormodel, int track);
        
        Checks if it the colormodel requires downsampling
      
      -quicktime_set_cmodel(quicktime_t *file, int colormodel);
        
        If the colormodel doesn't require downsampling you can call this to set the 
        colormodel of the framebuffer ???
      
      -int quicktime_encode_video(quicktime_t *file, unsigned char **row_pointers, int track); 
        
        Encodes the frame pointed to by **row_pointers, writes it down at the current position of the track
        and advances the current position; returns 0 for failure and 1 for success
        
libAVIfile
  
  Supported formats
    
    see: http://avifile.sourceforge.net/formats.htm
    
  
  
!QuickTime
  
  Supported formats

    see: http://developer.apple.com/documentation/QuickTime/RM/MovieBasics/MTOpenPlayMovies/index.html#//apple_ref/doc/uid/TP40000919


!DirectShow

  Supported formats

    see: http://msdn2.microsoft.com/en-us/library/ms787745.aspx

  Access

    playing see: http://msdn2.microsoft.com/en-us/library/ms783787.aspx

Video 4 Linux 2

  

Powered by IEM Powered by Plone Section 508 WCAG Valid XHTML Valid CSS Usable in any browser