Recherche avancée

Médias (1)

Mot : - Tags -/sintel

Autres articles (78)

  • Amélioration de la version de base

    13 septembre 2013

    Jolie sélection multiple
    Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
    Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)

  • Qu’est ce qu’un masque de formulaire

    13 juin 2013, par

    Un masque de formulaire consiste en la personnalisation du formulaire de mise en ligne des médias, rubriques, actualités, éditoriaux et liens vers des sites.
    Chaque formulaire de publication d’objet peut donc être personnalisé.
    Pour accéder à la personnalisation des champs de formulaires, il est nécessaire d’aller dans l’administration de votre MediaSPIP puis de sélectionner "Configuration des masques de formulaires".
    Sélectionnez ensuite le formulaire à modifier en cliquant sur sont type d’objet. (...)

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

Sur d’autres sites (14126)

  • avformat/assdec : UTF-16 support

    2 septembre 2014, par wm4
    avformat/assdec : UTF-16 support
    

    Use the UTF-16 BOM to detect UTF-16 encoding. Convert the file contents
    to UTF-8 on the fly using FFTextReader, which acts as converting wrapper
    around AVIOContext. It also can work on a static buffer, needed for
    format probing. The FFTextReader wrapper now also takes care of skipping
    the UTF-8 BOM.

    Fix Ticket #3496.

    • [DH] libavformat/assdec.c
    • [DH] libavformat/subtitles.c
    • [DH] libavformat/subtitles.h
  • ffmpeg stream rejected by youtube because it's too slow

    15 septembre 2019, par DeadlyBacon

    I have an app that sends WebM video to a socket in my server, the socket then executes ffmpeg to transform the video to flv and send it to a youtube rtmp ingester.

    Thing is, youtube rejects the stream, saying that the broadcast status is incorrect, no matter what I do.

    In my naivette I initially tried to stream 1080p and 720p, that failed, so I went down, assuming that that might help me with the bitrate issue... It did not.

    The error that Youtube gives me is in spanish but it basically says that the stream is too slow and I should lower resolution or bitrate(I’m already @ 240p and it’s not working).

    Edit : Here’s the error, translated :

    Main broadcast :
    YouTube is not receiving enough video to guarantee a fluid broadcast. Buffering will occur.

    Main Broadcast : We are not receiving video data at a fast enough speed. Your audience may experience buffering. Make sure that your connection is fast enough o consider using a lower bitrate.

    Here is my call to ffmpeg thus far (language is node.js if that matters.) :

    const ffmpeg = child_process.spawn('ffmpeg', [

       '-f', 'lavfi', '-i', 'anullsrc',

       //    '-re', // I was told i shouldnt use this parameter. i dont know, honestly.



       // FFmpeg will read input video from STDIN
       '-i', '-',

       // Because we're using a generated audio source which never ends,
       // specify that we'll stop at end of other input.  Remove this line if you
       // send audio from the browser.
       '-shortest',

       '-vcodec', 'libx264',

       '-acodec', 'aac',

       //ffmpeg
       //-re -loop 1
       //-framerate 2 -i test1.jpg -i https://xxxxxxxxxxx:8443/live.ogg
       //-c:a aac
       //-s 2560x1440
       //-ab 128k -vcodec libx264 -pix_fmt yuv420p -maxrate 2048k -bufsize 2048k
       //'-framerate', '30',
       '-r', '24',
       //'-s', '2560x1440',


       '-force_key_frames','expr:gte(t\,n_forced/2)',

       '-preset', 'ultrafast',
       '-pix_fmt', 'yuv420p',
       '-s', '426x240',
       '-crf', '23',
       '-bf', '2',
       '-q:a', '1',
       '-ac', '2',
       '-ar','48000',
       '-use_editlist','0',
       '-movflags','+faststart',
       //  '-ab', '128k',
       '-g', '48',

       //'-minrate', '1500k',
       '-minrate', '1000k',
       '-maxrate', '2000k',

       '-bufsize', '2000k',/*
       '-g', '30',*/
       //'-keyint_min', '30',
       //'-t', '30',

       ////
       '-deadline', 'realtime',
       '-cpu-used','-16',

       '-tune', 'zerolatency',

       '-threads', '4',

       //-g 2 -strict experimental -f flv rtmp://a.rtmp.youtube.com/live2/xxxxxxxxxxxxx


       // FLV is the container format used in conjunction with RTMP
       '-f', 'flv',



       // The output RTMP URL.
       // For debugging, you could set this to a filename like 'test.flv', and play
       // the resulting file with VLC.  Please also read the security considerations
       // later on in this tutorial.
       rtmpUrl
    ]);

    Edit : input is fed via stdin whenever the socket receives data.

    In my completely uneducated opinion, the "-deadline realtime" & the "-tune zerolatency" parts seemed to help somewhat but not enough to get me streamin’.

    Here is some of the output of ffmpeg :

    FFmpeg STDERR: frame=   35 fps=3.1 q=23.0 size=     104kB time=00:00:08.44 bitrate= 100.4kbits/s dup=0 drop=3 speed=0.76x    
    FFmpeg STDERR: frame=   35 fps=3.0 q=23.0 size=     104kB time=00:00:08.44 bitrate= 100.4kbits/s dup=0 drop=3 speed=0.726x    
    FFmpeg STDERR: frame=   35 fps=2.9 q=23.0 size=     104kB time=00:00:08.44 bitrate= 100.4kbits/s dup=0 drop=3 speed=0.696x    
    FFmpeg STDERR: frame=   36 fps=2.8 q=23.0 size=     109kB time=00:00:09.45 bitrate=  94.6kbits/s dup=0 drop=3 speed=0.747x    
    FFmpeg STDERR: frame=   36 fps=2.7 q=23.0 size=     109kB time=00:00:09.45 bitrate=  94.6kbits/s dup=0 drop=3 speed=0.719x    
    FFmpeg STDERR: frame=   38 fps=2.8 q=23.0 size=     121kB time=00:00:11.45 bitrate=  86.7kbits/s dup=0 drop=3 speed=0.839x  

    This is extremely frustrating.

    Please, guys, any guidance is good. what is it that I should be maximizing or minimizing ? how do I do that ? I honestly do not care about everything else going to hell (for example the video freezing or being severely pixelated at times) I just care about being able to stream

    Thank you in advance for anything that might help me !

    UPDATE : I created a new broadcast, with variable bitrate, I broadcasted to it, it was at "status:optimal" for a few seconds then fps and speed went down and the stream went back to "status : incorrect"

  • ffmpeg/libav easy way to set options

    13 mars 2023, par Patrick

    I recently messed around with ffplay code to see how it works and I noticed it uses a very straight forward way to parse and set all the command line options using the library internal cmdutils.h. I personally find the av_opt_set used in other examples of av wrappers quite confusing (Some args are explicitly stored in the struct, some in priv_data ? Im allowed/supposed to modify void*priv_data ? Which objects can I use av_opt_set on ? Which args go in which object and are they declared or in priv_data ? Where is this documented ?).
In ffplay all args are simply stored in an array and distributed to the right codec/muxer/format instance using cmdutil.
Id like to have exactly this functionality for my program (so that i can simply read a json config and don't need to care about it any further). Apparently the necessary OptionDef arrays are already defined in different implementation files.

    


    However my actual question : I noticed the OptionDef array definition in ffplay does not contain all options (only some from cmdutil included via macro). But other options e.g. fflags are not included anywhere (only defined somewhere else) and yet they work. So how does cmdutil set/parse them ?

    


    I hope someone can answer this, since simply adapting cmdutil would be a quite simple solution for me. Id also really appreciate some general guidance regarding my previous questions.

    


    Many Thanks in advance !

    


    I tried looking into the ffmpeg source and expected all OptionDef array definitions to be connected/collected inside a single array such that cmdutil can parse them easily. However this isn't the case and still some cmd options work. Therefore Im confused on how cmtutil is able to parse them