Recherche avancée

Médias (2)

Mot : - Tags -/map

Autres articles (48)

  • Personnaliser les catégories

    21 juin 2013, par

    Formulaire de création d’une catégorie
    Pour ceux qui connaissent bien SPIP, une catégorie peut être assimilée à une rubrique.
    Dans le cas d’un document de type catégorie, les champs proposés par défaut sont : Texte
    On peut modifier ce formulaire dans la partie :
    Administration > Configuration des masques de formulaire.
    Dans le cas d’un document de type média, les champs non affichés par défaut sont : Descriptif rapide
    Par ailleurs, c’est dans cette partie configuration qu’on peut indiquer le (...)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

  • Contribute to translation

    13 avril 2011

    You can help us to improve the language used in the software interface to make MediaSPIP more accessible and user-friendly. You can also translate the interface into any language that allows it to spread to new linguistic communities.
    To do this, we use the translation interface of SPIP where the all the language modules of MediaSPIP are available. Just subscribe to the mailing list and request further informantion on translation.
    MediaSPIP is currently available in French and English (...)

Sur d’autres sites (10624)

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