Recherche avancée

Médias (1)

Mot : - Tags -/getid3

Autres articles (48)

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

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

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

  • Streaming low latency video

    26 août 2018, par user4893295

    Goal is to get low latency HD video over the LAN from a USB camera on a ARM device (a10 Lime running Armbian Jessie) to OBS Studio.

    Thinking first step is to at least get it viewable on VLC on another device. So, to that end, I have tried gstreamer (no joy), ffmpeg (same) and VLC. Best luck with VLC so far, but the picture is mostly blank with occasional spots of picture.

    This is the command I’m using :

    cvlc v4l2:///dev/video0:chroma=h264:width=1920:height=1080 --sout '#standard{access=http,mux=ts,dst=0.0.0.0:8080/stream,name=stream,mime=video/ts}' -vvv

    It moans a bit at first with

    [00b4a178] core interface error: no suitable interface module
    [00ab18f8] core libvlc error: interface "globalhotkeys,none" initialization failed
    [00b4a178] core interface debug: looking for interface module matching "dbus,none": 18 candidates
    [00b4a178] dbus interface error: Failed to connect to the D-Bus session daemon: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
    [00b4a178] core interface debug: no interface modules matched
    [00b4a178] core interface error: no suitable interface module
    [00ab18f8] core libvlc error: interface "dbus,none" initialization failed

    But then seems to get a bit happier

    [b4316038] core demux meta debug: no meta reader modules matched
    [b4300508] core input debug: `v4l2:///dev/video0:chroma=h264:width=1920:height=1080' successfully opened
    [b4300508] core input debug: Buffering 0%
    [b4300508] core input debug: switching to sync mode
    [b430cce8] packetizer_h264 decoder debug: found NAL_SPS (sps_id=0)
    [b430cce8] packetizer_h264 decoder debug: found NAL_PPS (pps_id=0 sps_id=0)
    [b4300508] core input debug: Buffering 10%
    [b43041a0] core stream output debug: adding a new sout input (sout_input:0xb49004f0)
    [b43060f8] core mux debug: adding a new input
    [b43060f8] mux_ts mux debug: adding input codec=h264 pid=68
    [b43060f8] mux_ts mux debug: new PCR PID is 68
    [b4300508] core input debug: Buffering 32%
    [b4300508] core input debug: Buffering 44%
    [b4300508] core input debug: Buffering 55%
    [b4300508] core input debug: Buffering 65%
    [b4300508] core input debug: Buffering 77%
    [b4300508] core input debug: Buffering 88%
    [b4300508] core input debug: Buffering 98%
    [b4300508] core input debug: Stream buffering done (332 ms in 331 ms)
    [b4300508] core input debug: Decoder wait done in 0 ms

    And I can connect to it from VLC, but the picture looks like

    enter image description here

    Processor peaks at around 17% and memory even less than that, so it’s not that.

    Any suggestions ?

  • Why does ffmpeg parses an entire file beforehand

    10 juillet 2023, par Dmitrii Dunaev

    When calling avformat_open_input with AVIOContext set it seems that the library parses an entire file. I set both read and seek functions on the context. The video file is a fragmented mp4 with a lot of moof boxes. The file is located on a remote server. Each seek call is transformed into an http request. The library issues one seek for each moof. Is there any way to prevent avformat_open_input from parsing the entire file beforehand ? I would like to open the file and decode one frame at a specific time offset. Any suggestions ?

    


    Here is the snippet of GO code

    


    func (d *videoDecoder) init() error {
    avio_ctx_buffer := (*Cuint8_t)(lib.av_mallocz(avio_buffer_size))

    d.format_ctx = lib.avformat_alloc_context()
    d.avio_ctx = lib.avio_alloc_context(avio_ctx_buffer, Cint(avio_buffer_size), 0, uintptr(unsafe.Pointer(&d.ReadSeeker)), (Crw_packet_callback)(C.read_packet), nil, (Cseek_packet_callback)(C.seek_packet))
    d.format_ctx.pb = d.avio_ctx

    if ret := lib.avformat_open_input(&d.format_ctx, nil, nil, &d.options); ret < 0 {
        return fmt.Errorf("avformat open input: %w", convertRetCode(ret))
    }

    return nil
}

func read_packet(opaque unsafe.Pointer, buffer *Cuint8_t, size Cint) Cint {
    r := *(*io.ReadSeeker)(opaque)

    gobuf := (*[1 << 30]byte)(unsafe.Pointer(buffer))[:size:size]
    fmt.Printf("REQUESTED TO READ: %v\n", size)

    n, err := r.Read(gobuf)
    if err != nil {
        if errors.Is(err, io.EOF) {
            return CAVERROR_EOF
        }
        fmt.Printf("error reading from reader: %v\n", err)
    }

    return Cint(n)
}

//export seek_packet
func seek_packet(opaque unsafe.Pointer, offset Cint64_t, whence Cint) Cint64_t {
    r := *(*io.ReadSeeker)(opaque)

    fmt.Printf("REQUESTED TO SEEK: whence: %v offset: %v\n", int(whence), int64(offset))

    if whence == CAVSEEK_SIZE || whence == CAVSEEK_FORCE{
        return -1
    }

    n, err := r.Seek(int64(offset), int(whence))
    if err != nil {
        if errors.Is(err, io.EOF) {
            return -1
        }
        fmt.Printf("error seeking: %v\n", err)
    }

    return Cint64_t(n)
}


    


    And here is the output (truncated). It seeks to every single moof box.

    


    REQUESTED TO READ: 4196
REQUESTED TO SEEK: whence: 65536 offset: 0
REQUESTED TO SEEK: whence: 2 offset: -1
REQUESTED TO SEEK: whence: 0 offset: 4196
REQUESTED TO SEEK: whence: 65536 offset: 0
REQUESTED TO SEEK: whence: 2 offset: -1
REQUESTED TO SEEK: whence: 0 offset: 4196
REQUESTED TO SEEK: whence: 0 offset: 615080
REQUESTED TO READ: 4196
REQUESTED TO SEEK: whence: 65536 offset: 0
REQUESTED TO SEEK: whence: 2 offset: -1
REQUESTED TO SEEK: whence: 0 offset: 619276
REQUESTED TO SEEK: whence: 65536 offset: 0
REQUESTED TO SEEK: whence: 2 offset: -1
REQUESTED TO SEEK: whence: 0 offset: 619276
REQUESTED TO SEEK: whence: 65536 offset: 0
REQUESTED TO SEEK: whence: 2 offset: -1
REQUESTED TO SEEK: whence: 0 offset: 619276
REQUESTED TO SEEK: whence: 65536 offset: 0
REQUESTED TO SEEK: whence: 2 offset: -1
REQUESTED TO SEEK: whence: 0 offset: 619276
REQUESTED TO SEEK: whence: 65536 offset: 0
REQUESTED TO SEEK: whence: 2 offset: -1
REQUESTED TO SEEK: whence: 0 offset: 619276
REQUESTED TO SEEK: whence: 65536 offset: 0
REQUESTED TO SEEK: whence: 2 offset: -1
REQUESTED TO SEEK: whence: 0 offset: 619276
REQUESTED TO SEEK: whence: 65536 offset: 0
REQUESTED TO SEEK: whence: 2 offset: -1
REQUESTED TO SEEK: whence: 0 offset: 619276
REQUESTED TO SEEK: whence: 65536 offset: 0
REQUESTED TO SEEK: whence: 2 offset: -1
REQUESTED TO SEEK: whence: 0 offset: 619276
REQUESTED TO SEEK: whence: 65536 offset: 0
REQUESTED TO SEEK: whence: 2 offset: -1
REQUESTED TO SEEK: whence: 0 offset: 619276
REQUESTED TO SEEK: whence: 65536 offset: 0
REQUESTED TO SEEK: whence: 2 offset: -1
REQUESTED TO SEEK: whence: 0 offset: 619276
REQUESTED TO SEEK: whence: 0 offset: 1232664
REQUESTED TO READ: 4196
REQUESTED TO SEEK: whence: 65536 offset: 0
REQUESTED TO SEEK: whence: 2 offset: -1
REQUESTED TO SEEK: whence: 0 offset: 1236860
REQUESTED TO SEEK: whence: 65536 offset: 0
REQUESTED TO SEEK: whence: 2 offset: -1
REQUESTED TO SEEK: whence: 0 offset: 1236860
REQUESTED TO SEEK: whence: 65536 offset: 0
REQUESTED TO SEEK: whence: 2 offset: -1
REQUESTED TO SEEK: whence: 0 offset: 1236860
REQUESTED TO SEEK: whence: 65536 offset: 0
REQUESTED TO SEEK: whence: 2 offset: -1
REQUESTED TO SEEK: whence: 0 offset: 1236860
REQUESTED TO SEEK: whence: 65536 offset: 0
REQUESTED TO SEEK: whence: 2 offset: -1
REQUESTED TO SEEK: whence: 0 offset: 1236860
REQUESTED TO SEEK: whence: 65536 offset: 0
REQUESTED TO SEEK: whence: 2 offset: -1
REQUESTED TO SEEK: whence: 0 offset: 1236860
REQUESTED TO SEEK: whence: 65536 offset: 0
REQUESTED TO SEEK: whence: 2 offset: -1
REQUESTED TO SEEK: whence: 0 offset: 1236860
REQUESTED TO SEEK: whence: 65536 offset: 0
REQUESTED TO SEEK: whence: 2 offset: -1
REQUESTED TO SEEK: whence: 0 offset: 1236860
REQUESTED TO SEEK: whence: 65536 offset: 0
REQUESTED TO SEEK: whence: 2 offset: -1
REQUESTED TO SEEK: whence: 0 offset: 1236860
REQUESTED TO SEEK: whence: 65536 offset: 0
REQUESTED TO SEEK: whence: 2 offset: -1
REQUESTED TO SEEK: whence: 0 offset: 1236860
REQUESTED TO SEEK: whence: 0 offset: 1845238
REQUESTED TO READ: 4196
...


    


  • avcodec : add Newtek SpeedHQ decoder

    8 janvier 2017, par Steinar H. Gunderson
    avcodec : add Newtek SpeedHQ decoder
    

    This decoder can decode all existing SpeedHQ formats (SHQ0–5, 7, and 9),
    including correct decoding of the alpha channel.

    1080p is decoded in 142 fps on one core of my i7-4600U (2.1 GHz Haswell),
    about evenly split between bitstream reader and IDCT. There is currently
    no attempt at slice or frame threading, even though the format trivially
    supports both.

    NewTek very helpfully provided a full set of SHQ samples, as well as
    source code for an SHQ2 encoder (not included) and assistance with
    understanding some details of the format.

    • [DH] Changelog
    • [DH] libavcodec/Makefile
    • [DH] libavcodec/allcodecs.c
    • [DH] libavcodec/avcodec.h
    • [DH] libavcodec/codec_desc.c
    • [DH] libavcodec/get_bits.h
    • [DH] libavcodec/mpeg12.c
    • [DH] libavcodec/mpeg12.h
    • [DH] libavcodec/speedhq.c
    • [DH] libavcodec/version.h
    • [DH] libavcodec/vlc.h
    • [DH] libavformat/riff.c