Recherche avancée

Médias (1)

Mot : - Tags -/Rennes

Autres articles (90)

  • MediaSPIP version 0.1 Beta

    16 avril 2011, par

    MediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

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

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

Sur d’autres sites (11359)

  • How to display live video stream from ffmpeg in C#/WPF ?

    9 avril 2019, par Kevin McDaniel

    I am trying to get an output from FFmpeg.exe to display live on my wpf media player. The inputs to FFmpeg are an IP camera and a video file (mp4).

    The WPF media player needs a URI as the input. So, I have tried hosting a Udp server for FFmpeg to post to (which I can log the data coming in on the console). Then I try to get the stream using the media player, but no success.

    My Udp listener :

    UdpClient _udpServer = new UdpClient(5000);
    UdpClient _udpClient = new UdpClient(5001);
    private void UdpListen() {
      while (true)
      {
         IPEndPoint RemoteIpEndPoint = new IPEndPoint(IPAddress.Any, 0);
         Byte[] receiveBytes = _udpServer.Receive(ref RemoteIpEndPoint);
         if (RemoteIpEndPoint.ToString() != "192.168.1.110:5001")
         {
            IPEndPoint ep = new IPEndPoint(IPAddress.Parse("192.168.1.110"), 5001);
            _udpClient.Send(receiveBytes, receiveBytes.Length, ep);
         }
         Console.WriteLine("receive data from " + RemoteIpEndPoint.ToString() + ": " + receiveBytes.Length);
      }
    }

    The ffmpeg output : ... -f mpegts udp ://192.168.1.110:5000

    I pass this into the media player : udp ://192.168.1.110:5001

    I am expecting to see the video file being displayed as ffmpeg is processing the output. But, I just see ffmpeg do its processing, and the Udp listener writing to the console.
    Let me know where I am going wrong, thanks in advance

  • avcodec library not extracting all the frames from a video

    22 novembre 2018, par Guru Govindan

    I have written a library that could be used with python to extract frames from a video in a buffer for some processing. I used the examples from the ffmpeg to build my library using libavcodec.
    This and seems to be working fine for most of the videos. But I see on some videos where my library does not extract all the frames (way less than the FPS).

    It seems like somehow the packets might be out of order and docoder is not able to handle it. I keep getting a lot of the following errors

    pid=100 pes_code=0x1e0

    nal_unit_type : 9, nal_ref_idc : 0

    nal_unit_type : 1, nal_ref_idc : 2

    deblocking_filter_idc 7 out of range

    decode_slice_header error

    no frame !

    I use the following steps to setup the decoder.

       //open input file, allocate context
    if ((ret = avformat_open_input(&format_ctx, in_filename, 0, 0)) < 0) {
       PyErr_SetString(ExtractorError, "Could not open input file!");
       goto end;
    }

    if ((ret = avformat_find_stream_info(format_ctx, 0)) < 0) {
       PyErr_SetString(ExtractorError, "Failed to retrieve input stream information!");
       goto end;
    }

    av_dump_format(format_ctx, 0, in_filename, 0);

    // Get the video index from the stream
    for(int i=0; inb_streams ;i++ )
    {
       if( format_ctx->streams[i]->codecpar->codec_type == AVMEDIA_TYPE_VIDEO )
       {
           video_stream_index = i;
           break;
       }
    }

    /* if video stream not availabe */
    if((video_stream_index) == -1)
    {
       PyErr_SetString(ExtractorError, "video stream to retreive fps is not found!");
       return NULL;
    }

    long duration = format_ctx->duration + (format_ctx->duration <= INT64_MAX - 5000 ? 5000 : 0);

    float duration_in_secs = (float)duration / AV_TIME_BASE;

    stream_mapping_size = format_ctx->nb_streams;
    stream_mapping = av_mallocz_array(stream_mapping_size, sizeof(*stream_mapping));
    if (!stream_mapping) {
       ret = AVERROR(ENOMEM);
       goto end;
    }

    AVCodec *pCodec = NULL;
    AVCodecParameters *in_codecpar = NULL;
    for (i = 0; i < format_ctx->nb_streams; i++) {
       AVStream *in_stream = format_ctx->streams[i];
       in_codecpar = in_stream->codecpar;

       if (in_codecpar->codec_type != AVMEDIA_TYPE_AUDIO &&
           in_codecpar->codec_type != AVMEDIA_TYPE_VIDEO &&
           in_codecpar->codec_type != AVMEDIA_TYPE_SUBTITLE) {
           stream_mapping[i] = -1;
           continue;
       }

       if (in_codecpar->codec_type == AVMEDIA_TYPE_VIDEO){
           pCodec = avcodec_find_decoder(in_codecpar->codec_id);
           stream_mapping[i] = stream_index++;
           break;
       }
    }

    if(!pCodec){
       PyErr_SetString(ExtractorError, "error, no pCodec!");
       return NULL;
    }

    // convert CodecParam to CodecCtx
    AVCodecContext *pCodecCtx = avcodec_alloc_context3(pCodec);
    if (!pCodecCtx) {
       PyErr_SetString(ExtractorError, "Failed to convert codecParam to CodecCtx!");
       return NULL;
    }

    ret = avcodec_parameters_to_context(pCodecCtx, in_codecpar);
    if (ret < 0)
       goto end;

    //open video decoder
    if (avcodec_open2(pCodecCtx, pCodec, NULL) < 0)
    {
       logging("EXTRACTOR: failed to open codec through avcodec_open2\n");
       return NULL;
    }

    In order to test it I used the following command from ffmpeg to extract frames from the same video and it worked fine.

    ffmpeg -i /thuuz/extractor/03000.ts -f image2 -qscale:v 7 ffmpeg-detect—%03d.jpg -hide_banner -v quiet

    Am I not passing the right codec params ? Please let me know some inputs on how to debug this issue.
    Thanks a lot.

  • How can I fix a audio delay caused by a batch trim of the start and end of a video file

    15 mai 2019, par trozz

    When using this ffmpeg batch trimmer I found on here - will be posted down below in "show code" Tried to format it correctly, but I’m new here so.

    It causes the audio to be delayed by 100 milliseconds. Is there a way to fix this in the same bat file, or maybe after with another edit ?

    Thanks

    @Echo Off
    SetLocal

    Set "ext=mp4"

    Set "opts=-v quiet"

    Set "opts=%opts% -print_format "compact=print_section=0:nokey=1:escape=csv"

    Set "opts=%opts% -show_entries "format=duration""

    If Exist *.%ext% (If Not Exist "Trimmed\" MD Trimmed)

    For %%a In (*.%ext%) Do Call :Sub "%%~a"

    Exit/B

    :Sub

    For /f "Tokens=1* Delims=." %%a In (
       'FFProbe %opts% %1') Do (Set/A "ws=%%a-7.85" & Set "ps=%%b")

    rem If %ws% Lss 20 GoTo :EOF

    Set/A hh=ws/(60*60), lo=ws%%(60*60), mm=lo/60, ss=lo%%60

    If %hh% Lss 10 Set hh=0%hh%

    If %mm% Lss 10 Set mm=0%mm%

    If %ss% Lss 10 Set ss=0%ss%

    FFMpeg -i %1 -ss 00:00:04.5000 -to %hh%:%mm%:%ss%.%ps:~,3% -c:v copy -c:a copy "Trimmed\%~1"