Recherche avancée

Médias (91)

Autres articles (96)

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

  • Multilang : améliorer l’interface pour les blocs multilingues

    18 février 2011, par

    Multilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
    Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.

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

Sur d’autres sites (10029)

  • How to call a Rust function that expects a double pointer to buffer

    7 octobre 2020, par Guerlando OCs

    I'm trying to map the following ffmpeg function : http://ffmpeg.org/doxygen/4.0/group__lavc__parsing.html#ga0dd9af605377fcbb49fffd982672d377 to Rust code

    


    int av_parser_parse2    (   AVCodecParserContext *      s,
        AVCodecContext *    avctx,
        uint8_t **      poutbuf,
        int *   poutbuf_size,
        const uint8_t *     buf,
        int     buf_size,
        int64_t     pts,
        int64_t     dts,
        int64_t     pos 
    )   


    


    Here's my Rust code sketch :

    


    fn parse2(
    &self, 
    av_codec_context: CodecContext,
    poutbuf: &mut [u8],
    poutbuf_size: &mut i32,
    buf: &[u8],
    pts: i64,
    dts: i64,
    pos: i64,
) -> Result {
    unsafe {// ptr::null(), ptr::null_mut()
        match av_parser_parse2(self.as_mut_ptr(),
        av_codec_context.as_mut_ptr(),
        poutbuf.as_mut_ptr(),
        poutbuf_size.as_mut_ptr(),
        buf.as_mut_ptr(),
        buf.len() as i32,
        pts,
        dts,
        pos
) {
        }
    }
}


    


    Here's the av_parser_parse2 generated by Rust's C bindings :

    


    pub fn av_parser_parse2(
    s: *mut AVCodecParserContext,
    avctx: *mut AVCodecContext,
    poutbuf: *mut *mut u8,
    poutbuf_size: *mut libc::c_int,
    buf: *const u8,
    buf_size: libc::c_int,
    pts: i64,
    dts: i64,
    pos: i64,
) -> libc::c_int


    


    I'm having problems in 2 arguments :

    


            poutbuf.as_mut_ptr(),
        poutbuf_size.as_mut_ptr(),


    


    How can I make a double pointer ? In ffmpeg the user would provide a pointer to an empty buffer and to a size, which would be ovewritten by the function av_parser_parse2. I think I don't want the poutbuf: &mut [u8], poutbuf_size: &mut i32, arguments. Maybe I need to return a fresh new Vec for every parse2 call ? So the return value for parse2 would be the tuple Vec, i32.

    


    So I think I should take off poutbuf and poutbuf_size from the arguments, and call av_parser_parse2 with something that will become the Vec to return. However, I cannot pass a Vec as a double pointer, because I do not know the size of the returned packet.

    


    How can I deal with the returned buffer ?

    


  • How to espace quotes, double quotes and colon inside double quotes when using FFMpeg

    23 septembre 2020, par DnerD.Dev

    I'm trying to get a text written onto a video. I can get it to work when I do it in a single line but not when I need to quote the drawtext inside the double quotes to write two lines.

    


    ffmpeg.exe -i input.ts -vf "[in]drawtext=fontfile=Bebas-Regular.ttf:text='"Day: Sunday"':fontcolor=white:y=(h-h*0.2):x=(w-w*0.95):fontsize=36, drawtext=fontfile=Bebas-Regular.ttf:text='"thing1, thing2, thing3"':fontcolor=white:y=(h-h*0.1):x=(w-w*0.95):fontsize=36[out]" -codec:a copy output1.mp4

    


    I've tried so many combinations of \ but I can't get it to work. The error I get is the following :

    


    Unable to find a suitable output format for 'Sunday':fontcolor=white:y=(h-h*0.2):x=(w-w*0.95):fontsize=36, drawtext=fontfile=Bebas-Regular.ttf:text='thing1,'
Sunday':fontcolor=white:y=(h-h*0.2):x=(w-w*0.95):fontsize=36, drawtext=fontfile=Bebas-Regular.ttf:text='thing1,: Invalid argument


    


    I need the video to have this :

    


    Day: Sunday
Thing1, Thing2, Thing3


    


  • FFMPEG with -vf yadif on progressive file produces incorrect 'Original Frame Rate' metadata double

    28 septembre 2020, par hedgehog90

    I've got an ffmpeg command that I often use, I incorporate the yadif argument for content that may or may not be interlaced :

    


    ffmpeg -i input.mkv -c copy -c:v hevc_nvenc -c:a:0 aac -b:a 192k -vf yadif=mode=1:deint=1 output.mkv

    


    This means if input.mkv is an interlaced video, I get double the frame rate and the footage is deinterlaced, and if it's progressive it remains so and the frame rate doesn't change, exactly as I want it.

    


    However, I've just noticed in Mediainfo that progressive videos processed by this command, it adds this mysterious "Original Frame Rate" tag (I assume it's just metadata)

    


    enter image description here

    


    It doesn't appear to affect playback in VLC or MPV, however it is recognized in MPV as 'framerate (Specified)'...

    


    How do I prevent ffmpeg from generating this tag when using the yadif filter ?