Recherche avancée

Médias (0)

Mot : - Tags -/utilisateurs

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (105)

  • MediaSPIP v0.2

    21 juin 2013, par

    MediaSPIP 0.2 est la première version de MediaSPIP stable.
    Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Comme pour la version précédente, 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 (...)

  • Le profil des utilisateurs

    12 avril 2011, par

    Chaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
    L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...)

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

Sur d’autres sites (17115)

  • What's the easiest way to convert ogg to webm on Node without ffmpeg ?

    12 mars 2023, par Evert

    I'm working on a Telegram bot that can receive voice messages and then let OpenAI's Whisper transcribe them and then respond using OpenAI's chat completions API.

    


    Anyway, Whisper does accept a webm file as an input, but not an ogg file. Even though ironically, from what I've read, a webm container can contain a pure ogg file as its soundtrack.

    


    I can't use ffmpeg, because I'm deploying this as a serverless function (on Vercel for now) and I have no guarantee that ffmpeg will be installed there. But I was thinking, since webm is simply a container file which can contain the raw ogg opus codec as the soundtrack, wouldn't it be possible to just take the binary audio data that I can get from Telegram, using const audioData = await response.arrayBuffer(), and just add some bytes to the beginning and end of it that represent the webm container ?

    


    If yes, then can someone please tell me which bytes I'd need to add exactly ?

    


  • FFMPEG libraries : Bitstream "h264_mp4toannexb" filter does not work

    25 décembre 2013, par user2677612

    We are using FFmpeg libraries git-ee94362 libavformat v55.2.100. Our purpose is to mux two streams (video and audio) into M3U8 playlist using HLS.

    We are using AV_CODEC_ID_H264 output encoder, AV_PIX_FMT_YUV420P output video pixel format and CODEC_FLAG_GLOBAL_HEADER flag for the encoder.

    The last causes us to use "h264_mp4toannexb" bit stream filter.

    So, here is the code snippet :

    AVPacket outpkt = {0};
    int isGotVideoPacket = 0;

    av_init_packet(&outpkt);

    out_video_frame->pts = (int64_t) (video_frame_count * in_video_frame_duration / av_q2d(out_video_stream->time_base));

    int ret = avcodec_encode_video2(enc_out_video_ctx, &outpkt, out_video_frame[i], &isGotVideoPacket);

    assert(0 <= ret);

    if ((1 == isGotVideoPacket) && (0 < outpkt.size)) {

        AVPacket new_outpkt = outpkt;

        if ((AVBitStreamFilterContext*) 0 != vbsf_ctx) {
             AVPacket new_outpkt = outpkt;

              ret = av_bitstream_filter_filter(vbsf_ctx, enc_out_video_ctx, (const char*)0, &new_outpkt.data, &new_outpkt.size, outpkt.data, outpkt.size, outpkt.flags & AV_PKT_FLAG_KEY);

              if (ret > 0)
              {
                 outpkt = new_outpkt;
              }
              else
              {
                 // We get ret = -22
                 char errbuf[128] = "";

                 // Both the functions get "Error number -22 occurred" that don't explain anything
                 av_strerror (ret, errbuf, 128);
                 av_make_error_string (errbuf, 128, ret);          
               }

               assert(0 <= ret);

        }

        outpkt->stream_index = output_video_stream->index;

        // If to comment av_bitstream_filter_filter() and "if-else", then
        // At frame #37 we get the following error from av_interleaved_write_frame():
        // [mpegts @ 09628140] H.264 bitstream malformed, no startcode found, use the h264_mp4toannexb bitstream filter (-bsf h264_mp4toannexb).
        ret = av_interleaved_write_frame(ofmt_ctx, &outpkt);

        assert(0 <= ret);                          
    }

    Our questions :

    1. What is the meaning of the "-22" error from av_bitstream_filter_filter()?
    2. Where can we get full FFMPEG error code description list?
    3. If we are using av_bitstream_filter_filter() right? If no, what is the right way?

    Andrey Mochenov.

  • Prepare mp4 videos for Media Source Extensions API using ffmpeg

    6 février 2018, par ler

    This command produce init.mp4 + bunch of m4s files, i’m trying to play them using MSE :

    ffmpeg -i <input file="file" /> -f hls -hls_segment_type fmp4 -c:v copy playlist.m3u8

    This is the client side code i’m using :

    var socket = io();
    var video = document.querySelector('video');
    var mimeCodec = 'video/mp4; codecs="avc1.64000d,mp4a.40.2"';
    if ('MediaSource' in window &amp;&amp; MediaSource.isTypeSupported(mimeCodec)) {
       var mediaSource = new MediaSource;
       video.src = URL.createObjectURL(mediaSource);
       mediaSource.addEventListener('sourceopen', sourceOpen);
    } else {
       console.error('Unsupported MIME type or codec: ', mimeCodec);
    }
    function sourceOpen (_) {
     var mediaSource = this;
     var sourceBuffer = mediaSource.addSourceBuffer(mimeCodec);
     sourceBuffer.mode = 'sequence';
     socket.on('broadcast', function (newPiece) {
         // here i'm getting the buffer of the video  == buffer
         sourceBuffer.addEventListener('updateend', function (_) {
           video.play().then(function() { }).catch(function(error) { });
         });
         sourceBuffer.appendBuffer(buffer); // when the seconde video comes i append it's buffer
     })
    };

    Everything works fine when i send init.mp4 file followed by playlist0.m4s, playlist1.m4s, playlist2.m4s, .....
    But when i try to play init.mp4 file followed immediately 6,7,8 not 0,1,2 meaning playlist6.m4s, playlist7.m4s, playlist8.m4s, ...., it didn’t work.
    I don’t know why, this supposed to be live video, the viewer that is watching the live from the beginning gets init.mp4, playlist0.m4s, playlist1.m4s, playlist2.m4s, .....
    Someone that came after 5 minutes gets something like this init.mp4, playlist32.m4s, playlist33.m4s, playlist34.m4s, .... and so on, but so far it works only for the viewer that get’s init.mp4, playlist0.m4s, playlist1.m4s, playlist2.m4s, ..... the video can’t play for the others