Recherche avancée

Médias (1)

Mot : - Tags -/bug

Autres articles (26)

  • Personnaliser les catégories

    21 juin 2013, par

    Formulaire de création d’une catégorie
    Pour ceux qui connaissent bien SPIP, une catégorie peut être assimilée à une rubrique.
    Dans le cas d’un document de type catégorie, les champs proposés par défaut sont : Texte
    On peut modifier ce formulaire dans la partie :
    Administration > Configuration des masques de formulaire.
    Dans le cas d’un document de type média, les champs non affichés par défaut sont : Descriptif rapide
    Par ailleurs, c’est dans cette partie configuration qu’on peut indiquer le (...)

  • Les formats acceptés

    28 janvier 2010, par

    Les commandes suivantes permettent d’avoir des informations sur les formats et codecs gérés par l’installation local de ffmpeg :
    ffmpeg -codecs ffmpeg -formats
    Les format videos acceptés en entrée
    Cette liste est non exhaustive, elle met en exergue les principaux formats utilisés : h264 : H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 m4v : raw MPEG-4 video format flv : Flash Video (FLV) / Sorenson Spark / Sorenson H.263 Theora wmv :
    Les formats vidéos de sortie possibles
    Dans un premier temps on (...)

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

Sur d’autres sites (6997)

  • avcodec/put_bits : Make skip_put_bits() less dangerous

    31 juillet 2020, par Andreas Rheinhardt
    avcodec/put_bits : Make skip_put_bits() less dangerous
    

    Before c63c303a1f2b58677d480505ec93a90f77dd25b5 (the commit which
    introduced a typedef for the type of the buffer of a PutBitContext)
    skip_put_bits() was as follows :

    static inline void skip_put_bits(PutBitContext *s, int n)

    s->bit_left -= n ;
    s->buf_ptr -= 4 * (s->bit_left >> 5) ;
    s->bit_left &= 31 ;

    If s->bit_left was negative after the first subtraction, then the next
    line will divide this by 32 with rounding towards -inf and multiply by
    four ; the result will be negative, of course.

    The aforementioned commit changed this to :

    static inline void skip_put_bits(PutBitContext *s, int n)

    s->bit_left -= n ;
    s->buf_ptr -= sizeof(BitBuf) * ((unsigned)s->bit_left / BUF_BITS) ;
    s->bit_left &= (BUF_BITS - 1) ;

    Casting s->bit_left to unsigned meant that the rounding is still towards
    - inf ; yet the right side is now always positive (it transformed the
    arithmetic shift into a logical shift), so that s->buf_ptr will always
    be decremented (by about UINT_MAX / 8 unless n is huge) which leads to
    segfaults on further usage and is already undefined pointer arithmetic
    before that. This can be reproduced with the mpeg4 encoder with the
    AV_CODEC_FLAG2_NO_OUTPUT flag set.

    Furthermore, the earlier version as well as the new version share
    another bug : s->bit_left will be in the range of 0..(BUF_BITS - 1)
    afterwards, although the assumption throughout the other PutBitContext
    functions is that it is in the range of 1..BUF_BITS. This might lead to
    a shift by BUF_BITS in little-endian mode. This has been fixed, too.
    The new version is furthermore able to skip zero bits, too.

    Signed-off-by : Andreas Rheinhardt <andreas.rheinhardt@gmail.com>

    • [DH] libavcodec/put_bits.h
  • CGO : How do you use pointers in Golang to access data from an array in C

    23 avril 2018, par nevernew

    I’m writing an app for the windows platform using FFmpeg and it’s golang wrapper goav, but I’m having trouble understanding how to use the C pointers to gain access to the data array they point to.

    I’m trying to get the data stored in the AVFrame class and use Go to write it to a file, and eventually a texture in OpenGl to make a video player with cool transitions.

    I think understanding how to cast and access the C data will make coding this a lot easier.

    I’ve stripped out all the relevant parts of the C code, the wrapper and my code, shown below :

    C code - libavutil/frame.h

    #include

    typedef struct AVFrame {
    #define AV_NUM_DATA_POINTERS 8
       uint8_t *data[AV_NUM_DATA_POINTERS];
    }

    Golang goav wrapper - I don’t really know whats going on here with the unsafe.Pointers and casting but it gives me access to the underlying C code

    package avutil

    /*
       #cgo pkg-config: libavutil
       #include <libavutil></libavutil>frame.h>
       #include
    */
    import "C"
    import (
       "unsafe"
    )

    type Frame C.struct_AVFrame

    func AvFrameAlloc() *Frame {
       return (*Frame)(unsafe.Pointer(C.av_frame_alloc()))
    }

    func Data(f *Frame) *uint8 {
       return (*uint8)(unsafe.Pointer((*C.uint8_t)(unsafe.Pointer(&amp;f.data))))
    }

    My Golang code

    package main

    import "github.com/giorgisio/goav/avutil"

    func main() {
       videoFrame := avutil.AvFrameAlloc()

       data := avutil.Data(videoFrame)

       fmt.Println(data) // here i want the values from data[0] to data[7], but how?
    }
  • Ideal bitrates for different video resolutions

    15 octobre 2018, par Ramesh Navi

    I am building a Video-on-demand service for a closed community. I using FFMPEG for video processing and dash.js for adaptive bitrate player with custom resolution selector. Can somebody please suggest what ideal bitrates should I use while video/audio transcoding ?

    I am talking about -b:v and -ab option

    ffmpeg -i vid.mp4 -c:v libvpx-vp9 -keyint_min 150 \
    -g 150 -tile-columns 4 -frame-parallel 1  -f webm -dash 1 \
    -an -vf scale=144:-1 -b:v 120k -dash 1 video_1.webm \
    -an -vf scale=240:-1 -b:v 250k -dash 1 video_2.webm \
    -an -vf scale=360:-1 -b:v 500k -dash 1 video_3.webm \
    -an -vf scale=480:-1 -b:v 750k -dash 1 video_4.webm \
    -an -vf scale=720:-1 -b:v 1500k -dash 1 video_5.webm

    And

    ffmpeg -i vid.mp4 -vn -acodec libvorbis -ab 96k -dash 1 audio_96k.webm

    Any suggestions/hacks or examples to tackle real-world network situations are appreciated.