Recherche avancée

Médias (91)

Autres articles (28)

  • Support audio et vidéo HTML5

    10 avril 2011

    MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
    Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
    Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
    Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

  • De l’upload à la vidéo finale [version standalone]

    31 janvier 2010, par

    Le chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
    Upload et récupération d’informations de la vidéo source
    Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
    Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...)

Sur d’autres sites (5397)

  • ffmpeg encoding a video with time_base Not equal to framerate does not work in HML5 video players

    1er juillet 2019, par Gilgamesh22

    I have a time_base of 90000 with a frame rate of 30. I can generate a h264 video and have it work in VLC but this video does not work in the browser player. If I change the time_base to 30 It works fine.

    Note : I am changing the frame->pts appropriately to match the time_base.
    Note : Video does not have audio stream

    //header.h
    AVCodecContext *cctx;
    AVStream* stream;

    Here is the non working example code

    //source.cpp
    stream->time_base = { 1, 90000 };
    stream->r_frame_rate = { fps, 1 };
    stream->avg_frame_rate = { fps, 1 };

    cctx->codec_id = codecId;
    cctx->time_base = { 1 ,  90000 };
    cctx->framerate = { fps, 1 };

    // ......
    // add frame code later on timestamp are in millisecond
    frame->pts = (timestamp - startTimeStamp)* 90;

    Here is the working example code

    //source.cpp
    stream->time_base = { 1, fps};
    stream->r_frame_rate = { fps, 1 };
    stream->avg_frame_rate = { fps, 1 };

    cctx->codec_id = codecId;
    cctx->time_base = { 1 ,  fps};
    cctx->framerate = { fps, 1 };

    // ......
    //  add frame code timestamp are in millisecond
    frame->pts = (timestamp - startTimeStamp)/(1000/fps);

    Any ideas on why the second example works and the first does not in the HTML5 video player.

  • Prevent suspend event when streaming video via HTML video tag

    24 septembre 2014, par jasongullickson

    I seem to be having the opposite problem of most people who are streaming video using the HTML video tag ; I’m saturating the client with data.

    When playing a long video served via ffserver (webm container) everything works great but eventually the browser (Chrome in this case) will begin throwing "suspend" events. After a number of these ( 50-100), a "stalled" event will fire and playback will stop.

    I believe the problem is that once Chrome has buffered a certain amount of video it goes into "suspend" and stops downloading more data. I’ve tested this theory by throttling the speed at which video data is delivered, and if I keep the delivered frame rate close to the playback rate, I can prevent this from happening, but of course deliberately holding back server performance isn’t ideal.

    What I’m looking for is either a way to suppress this "suspend" behavior altogether, or alternatively a way to respond to the event that prevents the eventual "stalled" state.

    Presumably the browser at some point exits the "suspend" state and begins requesting data again, but I haven’t actually observed this occurring. I’m using a chain of mpeg2 -> ffmpeg -> ffserver to stream the video so if the browser is attempting to resume loading data I don’t see the request in my application. I could use a proxy or a sniffer to watch for the traffic but I would expect that maybe there is an ffserver log that can tell me the same thing ? In any event if it’s attempting to resume the download it’s failing, and there’s no indication server-side that there’s a reason for the request to fail (in fact I can pull up the same video feed from ffserver and see it playing correctly).

    So I feel like I’ve isolated this to a client-side playback issue, and one where the browser is voluntarily giving up on loading the data, but I’m not sure how to convince it to "not do that", or at least attempt to resume when it runs the buffer dry.

  • Problem with processing FFMPEG video , the output video is totally black in first 3 seconds

    13 janvier 2021, par Trần Minh Tuấn

    I want to make a slideshow by using concat demuxer like this link :
https://trac.ffmpeg.org/wiki/Slideshow

    


    Here is the textfile preinputFiles.txt :

    


    file 'path a'
duration 2
file 'path b'
duration 2
file 'path c'
duration 2
file 'path c'


    


    and my command array is :

    


    String[] cmd = new String[]{
            "-f","concat","-i",
            textFile,
            "-vsync", "vfr", "-pix_fmt", "yuv420p",
            dest.getAbsolutePath()};


    


    the video has 3 seconds that it is totally black and run from 3s to 9s even the gallery shows that it is a 6 seconds long video .

    


    Thanks for the help !