Recherche avancée

Médias (3)

Mot : - Tags -/spip

Autres articles (57)

  • Ajouter notes et légendes aux images

    7 février 2011, par

    Pour pouvoir ajouter notes et légendes aux images, la première étape est d’installer le plugin "Légendes".
    Une fois le plugin activé, vous pouvez le configurer dans l’espace de configuration afin de modifier les droits de création / modification et de suppression des notes. Par défaut seuls les administrateurs du site peuvent ajouter des notes aux images.
    Modification lors de l’ajout d’un média
    Lors de l’ajout d’un média de type "image" un nouveau bouton apparait au dessus de la prévisualisation (...)

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

Sur d’autres sites (7452)

  • avformat/mov : add support for reading Content Light Level Box

    22 avril 2017, par James Almer
    avformat/mov : add support for reading Content Light Level Box
    

    As defined in "VP Codec ISO Media File Format Binding v1.0"
    https://github.com/webmproject/vp9-dash/blob/master/VPCodecISOMediaFileFormatBinding.md

    Reviewed-by : Michael Niedermayer <michael@niedermayer.cc>
    Signed-off-by : James Almer <jamrial@gmail.com>

    • [DH] libavformat/isom.h
    • [DH] libavformat/mov.c
  • Error : "No such option : -l" when running yt-dlp

    12 juin 2022, par garson

    I have adapted code from this Stack Overflow answer to try to download a video and use ffmpeg to alter it

    &#xA;

    yt-dlp    "https://www.youtube.com/watch?v=PtkqwslbLY8" -o  ffmpeg -i in.mp4 -vcodec libx264 -crf 23 -preset fast -profile:v baseline \&#xA;-level 3 -refs 6 -vf "scale=640:-1,pad=iw:480:0:(oh-ih)/2,format=yuv420p" \&#xA;-acodec copy output.mp4&#xA;

    &#xA;

    However, when I run this I'm getting the error :

    &#xA;

    yt-dlp: error: no such option: -l&#xA;

    &#xA;

    Any ideas of how to fix this ?

    &#xA;

  • "invalid argument" for av_buffersrc_write_frame / av_buffersrc_add_frame

    1er février 2017, par TheSHEEEP

    I am trying to use FFmpeg C api to create a filter to merge two audio streams. Trying to follow the code from here : Implementing a multiple input filter graph with the Libavfilter library in Android NDK

    Everything seems to be alright.

    However, as soon as I call av_buffersrc_write_frame (or av_buffersrc_add_frame or av_buffersrc_add_frame_flags, it doesn’t matter), FFmpeg just reports "invalid argument" and nothing else - an utterly useless error message, as it could mean everything.
    Which argument is invalid ? What is wrong about it ? Nobody knows.

    I am initializing the graph and "grabbing" the contexts of the buffer sources for later use like this :

    // Alloc filter graph
    *filter_graph = avfilter_graph_alloc();
    if ((*filter_graph) == NULL) {
       os::log("Error: Cannot allocate filter graph.");
       return AVERROR(ENOMEM);
    }

    // Building the filter string, ommitted

    int result = avfilter_graph_parse2(*filter_graph, filterString.c_str(), &amp;gis, &amp;gos, NULL);
    if (result &lt; 0)
    {
       char errorBuf[1024];
       av_make_error_string(errorBuf, 1024, result);
       log("Error: Parsing filter string: %s", errorBuf);
       return AVERROR_EXIT;
    }

    // Configure the graph
    result = avfilter_graph_config(*filter_graph, NULL);
    if (result &lt; 0)
    {
       char errorBuf[1024];
       av_make_error_string(errorBuf, 1024, result);
       log("Error: Configuring filter graph: %s", errorBuf);
       return AVERROR_EXIT;
    }

    // Get the buffer source and buffer sink contexts
    for (unsigned int i = 0; i &lt; (*filter_graph)->nb_filters; ++i) {
       AVFilterContext* filterContext = (*filter_graph)->filters[i];

       // The first two filters should be the abuffers
       std::string name = filterContext->name;
       if (name.find("abuffer") != name.npos &amp;&amp; i &lt; 2) {
           inputs[i].buffer_source_context = filterContext;
       }

       // abuffersink is the one we need to get the converted frames from
       if (name.find("abuffersink") != name.npos) {
           *buffer_sink_context = filterContext;
       }
    }

    There are absolutely no errors in the initialization. At least FFmpeg has only this to say about it, which I think looks good :

    FFMPEG: [Parsed_abuffer_0 @ 0ddfe840] Setting 'time_base' to value '1/48000'
    FFMPEG: [Parsed_abuffer_0 @ 0ddfe840] Setting 'sample_rate' to value '48000'
    FFMPEG: [Parsed_abuffer_0 @ 0ddfe840] Setting 'sample_fmt' to value '1'
    FFMPEG: [Parsed_abuffer_0 @ 0ddfe840] Setting 'channel_layout' to value '3'
    FFMPEG: [Parsed_abuffer_0 @ 0ddfe840] Setting 'channels' to value '2'
    FFMPEG: [Parsed_abuffer_0 @ 0ddfe840] tb:1/48000 samplefmt:s16 samplerate:48000 chlayout:3
    FFMPEG: [Parsed_abuffer_1 @ 0ddfe500] Setting 'time_base' to value '1/44100'
    FFMPEG: [Parsed_abuffer_1 @ 0ddfe500] Setting 'sample_rate' to value '44100'
    FFMPEG: [Parsed_abuffer_1 @ 0ddfe500] Setting 'sample_fmt' to value '1'
    FFMPEG: [Parsed_abuffer_1 @ 0ddfe500] Setting 'channel_layout' to value '3'
    FFMPEG: [Parsed_abuffer_1 @ 0ddfe500] Setting 'channels' to value '2'
    FFMPEG: [Parsed_abuffer_1 @ 0ddfe500] tb:1/44100 samplefmt:s16 samplerate:44100 chlayout:3
    FFMPEG: [Parsed_volume_3 @ 0ddfe580] Setting 'volume' to value '2'
    FFMPEG: [Parsed_aresample_4 @ 0ddfe660] Setting 'sample_rate' to value '48000'
    FFMPEG: [Parsed_aformat_5 @ 0ddfe940] Setting 'sample_fmts' to value 'fltp'
    FFMPEG: [Parsed_aformat_5 @ 0ddfe940] Setting 'channel_layouts' to value '3'

    Then, I am trying to add a frame (that has been decoded beforehand) like this :

    // "buffer_source_context" is one of the "inputs[i].buffer_source_context" from the code above
    int result = av_buffersrc_write_frame(  buffer_source_context,
                                               input_frame);
    if (result &lt; 0) {
       char errorBuf[1024];
       av_make_error_string(errorBuf, 1024, result);
       log("Error: While adding to buffer source: %s", errorBuf);
       return AVERROR_EXIT;
    }

    And the result is the mentioned "invalid argument".

    The buffer_source_context is one of those noted from the code above and the input_frame is perfectly fine as well.
    Before the filtering code was added, the same frame was passed to an encoder instead without a problem.

    I am at a loss at what the error could be here. I log FFmpeg errors at the lowest possible level, but not a single error is shown. I am using FFmpeg 3.1.1.