Recherche avancée

Médias (1)

Mot : - Tags -/intégration

Autres articles (108)

  • Les vidéos

    21 avril 2011, par

    Comme les documents de type "audio", Mediaspip affiche dans la mesure du possible les vidéos grâce à la balise html5 .
    Un des inconvénients de cette balise est qu’elle n’est pas reconnue correctement par certains navigateurs (Internet Explorer pour ne pas le nommer) et que chaque navigateur ne gère en natif que certains formats de vidéos.
    Son avantage principal quant à lui est de bénéficier de la prise en charge native de vidéos dans les navigateur et donc de se passer de l’utilisation de Flash et (...)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

Sur d’autres sites (10418)

  • How can I check whether an RTMP live stream is working on the server side ?

    10 juin 2015, par Moyersy

    I have a site where users can broadcast their own live streams. They are provided with a URL to push their stream to over RTMP. Viewers have an embedded flash player to watch each stream.

    I need to be able to determine whether a particular stream is broadcasting. It doesn’t need to do any analysis, simply to check that there’s an actual stream at the RTMP URL.

    It seems that VLC doesn’t support RMTP.
    I’ve tried ffmpeg but not managed to solve the problem yet.

    Server is running Ubuntu.

    Bonus : How can I update the database based on the results of this stream test ?

  • MPEG-TS Segments HTTP Live Streaming

    5 juin 2013, par user1069624

    I'm trying to interleave MPEG-TS segments but failing. One set of segments was actually captured using the built in camera in the laptop, then encoded using FFMPEG with the following command :

    ffmpeg -er 4 -y -f video4linux2 -s 640x480 -r 30 -i %s -isync -f mpegts -acodec libmp3lame -ar 48000 -ab 64k -s 640x480 -vcodec libx264 -fflags +genpts -b 386k -coder 0 -me_range 16 -keyint_min 25 -i_qfactor 0.71 -bt 386k -maxrate 386k -bufsize 386k -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -aspect 640:480

    And the other one is an avi file that was encoded using the following command :

    fmpeg -er 4 -y -f avi -s 640x480 -r 30 -i ./DSCF2021.AVI -vbsf dump_extra -f mpegts -acodec libmp3lame -ar 48000 -ab 64k -s 640x480 -vcodec libx264 -fflags +genpts -b 386k -coder 0 -me_range 16 -keyint_min 25 -i_qfactor 0.71 -bt 386k -maxrate 386k -bufsize 386k -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -aspect 640:480

    Then the output is segmented into ts segments using an open source segmenter.

    If both come from the same source (both from the camera) they work fine. However in this case, the second set of segments freeze. Time passes, but the video does not move..
    So i think it's an encoding problem. So my question is, how should i change the ffmpeg command for this to work ?

    By interleave I mean, having a playlist with the first set of segments, and another playlist with the other set of segments, and having the client call one then the other (HTTP Live Streaming)

    The ffprobe output of one of the first set of segments :

    Input #0, mpegts, from 'live1.ts':
     Duration: 00:00:09.76, start: 1.400000, bitrate: 281 kb/s
     Program 1 Service01
       Metadata:
         name            : Service01
         provider_name   : FFmpeg
       Stream #0.0[0x100]: Video: h264, yuv420p, 640x480 [PAR 1:1 DAR 4:3], 29.92 fps, 29.92 tbr, 90k tbn, 59.83 tbc
       Stream #0.1[0x101]: Audio: aac, 48000 Hz, stereo, s16, 111 kb/s

    The ffprobe output of one of the second set of segments :

    Input #0, mpegts, from 'ad1.ts':
     Duration: 00:00:09.64, start: 1.400000, bitrate: 578 kb/s
     Program 1 Service01
       Metadata:
         name            : Service01
         provider_name   : FFmpeg
       Stream #0.0[0x100]: Video: h264, yuv420p, 640x480 [PAR 1:1 DAR 4:3], 25 fps, 25 tbr, 90k tbn, 50 tbc
       Stream #0.1[0x101]: Audio: aac, 48000 Hz, stereo, s16, 22 kb/s

    Thank you,

  • 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.