Recherche avancée

Médias (91)

Autres articles (11)

  • Supporting all media types

    13 avril 2011, par

    Unlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)

  • Le plugin : Podcasts.

    14 juillet 2010, par

    Le problème du podcasting est à nouveau un problème révélateur de la normalisation des transports de données sur Internet.
    Deux formats intéressants existent : Celui développé par Apple, très axé sur l’utilisation d’iTunes dont la SPEC est ici ; Le format "Media RSS Module" qui est plus "libre" notamment soutenu par Yahoo et le logiciel Miro ;
    Types de fichiers supportés dans les flux
    Le format d’Apple n’autorise que les formats suivants dans ses flux : .mp3 audio/mpeg .m4a audio/x-m4a .mp4 (...)

  • Encoding and processing into web-friendly formats

    13 avril 2011, par

    MediaSPIP automatically converts uploaded files to internet-compatible formats.
    Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
    Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
    Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
    All uploaded files are stored online in their original format, so you can (...)

Sur d’autres sites (3057)

  • Decoding realtime h264 stream using ffmpeg.Do I need to set zero-lantancy to ffmpeg.How to set it

    8 avril 2013, par penghao

    I write something like realtime video conference application.
    I use x264 library to encode a realtime video data, Then I put the data to another end throughout the network. I want to decode the realtime h264 stream using ffmpeg library.

    When I encode, I know a lot of thing need to set,like —rc-lookahead 0 —sync-lookahead 0.
    But on the another end of decoding, I don't know whether the same thing need to set. And how to set these option to the real decoder in ffmpeg.

    Thanks in advance.

  • Programming Language Levels

    20 mai 2011, par Multimedia Mike — Programming

    I’ve been doing this programming thing for some 20 years now. Things sure do change. One change I ponder from time to time is the matter of programming language levels. Allow me to explain.

    The 1990s
    When I first took computer classes in the early 1990s, my texts would classify computer languages into 3 categories, or levels. The lower the level, the closer to the hardware ; the higher the level, the more abstract (and presumably, easier to use). I recall that the levels went something like this :

    • High level : Pascal, BASIC, Logo, Fortran
    • Medium level : C, Forth
    • Low level : Assembly language

    Keep in mind that these were the same texts which took the time to explain the history of computers from mainframes -> minicomputers -> a relatively recent phenomenon called microcomputers or "PCs".

    Somewhere in the mid-late 1990s, when I was at university, I was introduced to a new tier :

    • Very high level : Perl, shell scripting

    I think there was some debate among my peers about whether C++ and Java were properly classified as high or very high level. The distinction between high and very high, in my observation, seemed to be that very high level languages had more complex data structures (at the very least, a hash / dictionary / associative array / key-value map) built into the language, as well as implicit memory management.

    Modern Day
    These days, the old hierarchy is apparently forgotten (much like minicomputers). I observe that there is generally a much simpler 2-tier classification :

    • Low level : C, assembly language
    • High level : absolutely every other programming language in wide use today

    I find myself wondering where C++ and Objective-C fit in this classification scheme. Then I remember that it doesn’t matter and this is all academic.

    Relevancy
    I think about this because I have pretty much stuck to low-level programming all of my life, mostly due to my interest in game and multimedia-type programming. But the trends in computing have favored many higher level languages and programming paradigms. I woke up one day and realized that the kind of work I often do — lower level stuff — is not very common.

    I’m not here to argue that low or high level is superior. You know I’m all about using the appropriate tool for the job. But I sometimes find myself caught between worlds, having the defend and explain one to the other.

    • On one hand, it’s not unusual for the multitudes of programmers working at the high level to gasp and wonder why I or anyone else would ever use C or assembly language for anything when there are so many beautiful high level languages. I patiently explain that those languages have to be written in some other language (at first) and that they need to run on some operating system and that most assuredly won’t be written in a high level language. For further reading, I refer them to Joel Spolsky’s great essay called Back to Basics which describes why it can be useful to know at least a little bit about how the computer does what it does at the lowest levels.
    • On the other hand, believe it or not, I sometimes have to defend the merits of high level languages to my low level brethren. I’ll often hear variations of, "Any program can be written in C. Using a high level language to achieve the same will create a slow and bloated solution." I try to explain that the trade-off in time to complete the programming task weighed against the often-negligible performance hit of what is often an I/O-bound operation in the first place makes it worthwhile to use the high level language for a wide variety of tasks.

      Or I just ignore them. That’s actually the best strategy.

  • Programming in C : Opening, Reading and Transcoding of Live TV with libavcodec. libavformat etc

    19 décembre 2011, par mmoment

    I'm currently developing a live streaming Software for my University Project.

    I am supposed to open a Live Video Stream from a USB Stick( I am using the Hauppauge WinTV-HVR 950Q under Linux) and read the Stream.
    Then I'm supposed to transcode it to h246. and send it to some devices in the Network.

    My Problem


    I can use the v4l API to access the USB Stick, but transcoding does currently not work as far as I know, therefore I want to use the libav to do so. I know that using the command line tools transcoding of live streams with ffmpeg is not a big deal, but doing so in C seems to be more of a problem.

    1. Here's how I open some static Video File :

      static char* path = "./video.mpeg" ;
      AVFormatContext *pFormatCtx ;

      av_register_all() ;

      if(av_open_input_file(&pFormatCtx, path, NULL, 0, NULL) !=0)

      printf("Opening file \"%s\" failed", path) ;
      return -1 ;
      else printf("Opening the file \"%s\" succeeded", path) ;

    2. Here's how I understand to how open a Live Feed

      static char* path = "/dev/dvb/adapter0/dvr0" ;
      AVFormatContext *pFormatCtx ;

      av_register_all() ;
      avdevice_register_all() ;

      if(avformat_open_input(&pFormatCtx, path, NULL, NULL) != 0)

      perror("avformat_open_input") ;
      return -1 ;
      else printf("Yay") ;

    3. Here's how I understand to how open a Live Feed

      if(av_find_stream_info(pFormatCtx)<0)

      printf("Could not find any Stream Information the file \"%s\"", path) ;
      return -1 ;

      // Dump information about file onto standard error
      dump_format(pFormatCtx, 0, path, 0) ;
      AVCodecContext *pCodecCtx ;

      // Find the first video stream
      int videoStream=-1 ;
      for(i=0 ; inb_streams ; i++)

      if(pFormatCtx->streams[i]->codec->codec_type==AVMEDIA_TYPE_VIDEO)
      {
         videoStream=i;
         break;
      }

      if(videoStream==-1) return -1 ; // Didn't find a video stream

      // Get a pointer to the codec context for the video stream
      pCodecCtx=pFormatCtx->streams[videoStream]->codec ;

      AVCodec *pCodec ;

      // Find the decoder for the video stream
      pCodec=avcodec_find_decoder(pCodecCtx->codec_id) ;
      if(pCodec==NULL)

      fprintf(stderr, "Unsupported codec !\n") ;
      return -1 ; // Codec not found

      //Open codec
      if(avcodec_open(pCodecCtx, pCodec)<0)

      printf("Could not open the Codec") ;
      return -1 ; // Could not open codec

    So now how can you help me ?

    I would really appreciate it if anyone knew how to open a live stream and could give me a good example.