Recherche avancée

Médias (3)

Mot : - Tags -/spip

Autres articles (82)

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

  • Emballe médias : à quoi cela sert ?

    4 février 2011, par

    Ce plugin vise à gérer des sites de mise en ligne de documents de tous types.
    Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ;

  • Des sites réalisés avec MediaSPIP

    2 mai 2011, par

    Cette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
    Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page.

Sur d’autres sites (10563)

  • FFMPEG failing in AWS Lambda

    18 février 2019, par Zaid Amir

    I am trying to create a transcoding function for short videos. The function is hosted on AWS Lambda. The problem is that AWS lambda seems to be missing something that FFMPEG requires, at least according to Amazon.

    I contacted Amazon earlier and this is their response to the issue :

    We found that the FFMPEG operations require at least libx264 and an
    acc library, both of which will have dependencies of their own. To
    troubleshoot the issue it will involve diving deeper into the full
    dependency chain. We can see that it works in the Amazon Linux
    environment however, the environment is similar but not identical to
    the lambda environment. There can be some dependencies that exist in
    Amazon Linux but not in lambda environment as Lambda runs on the
    container. Here, as FFmpeg is a third party software, diving deeper
    into the dependency chain and verifying the version compatibilities is
    very hard to do. Unfortunately going further, this is bound to go into
    architecture and code support which is out of AWS Support scope 1. I
    hope you understand our limitations. However should FFmpeg support
    have any questions specific to the Lambda platform, please do let us
    know and we will be happy to assist. We will be in better position to
    investigate further once you receive an update from the FFmpeg support
    suggesting an issue from Lambda end.

    Upon AWS suggestion, I contacted FFMPEG on the developers mailing list, my message was rejected with the reason being that its more suited to ffmpeg users mailing list than developers. I sent an email to ’ffmpeg-user@ffmpeg.org’ a week ago and did not get any response yet.

    I then went and built a dynamically linked ffmpeg version making sure to package all libraries, checked ddl on each one, then made a small lambda function that looped over all binaries and ddled each one of them, compared that to the output I got from Amazon Linux and the same dependencies/versions exists on both lambda and the AWS Linux instance yet ffmpeg still fails on lambda.

    You can find a detailed log file here : https://www.datafilehost.com/d/6e5e21bb

    And this is a sample of the errors I’m getting, repeated across the entire log file :

    2018-08-14T12:27:10.874Z [h264 @ 0x65c2fc0] concealing 2628 DC, 2628
    AC, 2628 MV errors in P frame

    2018-08-14T12:27:10.874Z [aac @ 0x65d2f00] channel element 2.11 is not
    allocated

    2018-08-14T12:27:10.874Z Error while decoding stream #0:1 : Invalid
    data found when processing input

    2018-08-14T12:27:10.874Z [h264 @ 0x67e86c0] Invalid NAL unit size
    (108085662 > 1649).

    2018-08-14T12:27:10.874Z [h264 @ 0x67e86c0] Error splitting the input
    into NAL units.

    2018-08-14T12:27:10.874Z [aac @ 0x65d2f00] channel element 2.0 is not
    allocated

    2018-08-14T12:27:10.874Z Error while decoding stream #0:1 : Invalid
    data found when processing input

    2018-08-14T12:27:10.874Z [h264 @ 0x68189c0] Invalid NAL unit size
    (71106974 > 1085).

    2018-08-14T12:27:10.874Z [h264 @ 0x68189c0] Error splitting the input
    into NAL units.

    2018-08-14T12:27:10.874Z [aac @ 0x65d2f00] Pulse tool not allowed in
    eight short sequence.

    This log is generated when trying to perform an HLS transcoding on this file : https://www.datafilehost.com/d/999a4492

    Note that the issue is not related to that file alone nor is it related to HLS, its general and happen on all videos and any ffmpeg command that tries to seek the stream, even tried extracting a single frame from a video using the simplest form possible for example : ffmpeg -ss 00:00:02 -I file.mp4 -vframes 1 -y output.jpg also fails with the same errors in the log file.

    Not sure how to debug this further. Tried enabling debug logs with ‘-loglevel debug’ but did not give me any extra info. Any help or suggestions

  • Installation Error when installing MLT [on hold]

    3 décembre 2013, par user3060419

    my PC configuration is
    Gnome version 3.4.2
    memory 1.7Gib
    Processor AMD Athlon(tm) II X2 270 Processor × 2
    Graphics VESA : RS780
    Base system Debian GNU/Linux 7 (wheezy) 64-bit
    Disc 486.3Gib

    I tried to intall MLT(Media Lovin Toolkit). after installing all dependencies when i configure with this command----

    ./configure —prefix=/usr —enable-gpl —qimage-libdir=/usr/lib/ —qimage-includedir=/usr/include/qt4

    Then the output shows as----

    Configuring modules/linsys :

    Configuring modules/lumas :

    Configuring modules/motion_est :

    Configuring modules/normalize :

    Configuring modules/oldfilm :

    Configuring modules/opengl :

    Configuring modules/plus :

    Configuring modules/qimage :

    • Qt not found : disabling

    Configuring modules/resample :

    Configuring modules/rotoscoping :

    Configuring modules/rtaudio :

    Configuring modules/sdl :

    Configuring modules/sox :

    Configuring modules/swfdec :

    Configuring modules/videostab :

    Configuring modules/vmfx :

    Configuring modules/vorbis :

    Configuring modules/xine :

    Configuring modules/xml :

    Configuring mlt++ :

    Configuring swig :

    GPLv2 license used ; GPLv3 components disabled

    and when i try to make by make command, then the output is---->

    list='src/framework src/mlt++ src/melt src/modules src/swig profiles' ; \
    for subdir in $list ; do \
    make -s -C $subdir depend || exit 1 ; \
    make -C $subdir all || exit 1 ; \
    done
    make[1] : Entering directory `/root/mlt/src/framework'

    make[1] : Nothing to be done for `all'.

    make[1] : Leaving directory `/root/mlt/src/framework'

    make[1] : Entering directory `/root/mlt/src/mlt++'

    make[1] : Nothing to be done for `all'.

    make[1] : Leaving directory `/root/mlt/src/mlt++'

    make[1] : Entering directory `/root/mlt/src/melt'

    make[1] : Nothing to be done for `all'.

    make[1] : Leaving directory `/root/mlt/src/melt'

    make[1] : Entering directory `/root/mlt/src/modules'

    list='xml kino rotoscoping motion_est avformat effectv vmfx gtk2 opengl videostab rtaudio
    jackrack resample oldfilm decklink sox vorbis dv core linsys feeds kdenlive frei0r qimage
    swfdec plus xine lumas avsync normalize dgraft sdl' ; \
    for subdir in $list ; do

       if [ -f $subdir/Makefile -a ! -f disable-$subdir ] ; \

       then make -C $subdir all || exit 1; \

       fi \

    done

    make[2] : Entering directory `/root/mlt/src/modules/xml'

    make[2] : Nothing to be done for `all'.

    make[2] : Leaving directory `/root/mlt/src/modules/xml'

    make[2] : Entering directory `/root/mlt/src/modules/kino'

    g++ -I../../ -DARCH_X86_64 -Wall -DPIC -O2 -pipe -fno-tree-dominator-opts -fno-tree-pre
    - ffast-math -DUSE_MMX -DUSE_SSE -DUSE_SSE2 -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
    - fPIC -pthread pkg-config --cflags libquicktime pkg-config --cflags libdv
    -Wno-deprecated pkg-config --cflags libquicktime -c -o kino_wrapper.o kino_wrapper.cc

    g++ -I../../ -DARCH_X86_64 -Wall -DPIC -O2 -pipe -fno-tree-dominator-opts -fno-tree-pre
    -ffast-math -DUSE_MMX -DUSE_SSE -DUSE_SSE2 -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
    -fPIC -pthread pkg-config --cflags libquicktime pkg-config --cflags libdv

    -Wno-deprecated pkg-config --cflags libquicktime -c -o avi.o avi.cc

    g++ -I../../ -DARCH_X86_64 -Wall -DPIC -O2 -pipe -fno-tree-dominator-opts -fno-tree-pre
    - ffast-math -DUSE_MMX -DUSE_SSE -DUSE_SSE2 -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
    - fPIC -pthread pkg-config --cflags libquicktime pkg-config --cflags libdv
    - Wno-deprecated pkg-config --cflags libquicktime -c -o filehandler.o filehandler.cc

    g++ -I../../ -DARCH_X86_64 -Wall -DPIC -O2 -pipe -fno-tree-dominator-opts -fno-tree-pre
    - ffast-math -DUSE_MMX -DUSE_SSE -DUSE_SSE2 -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
    - fPIC -pthread pkg-config --cflags libquicktime pkg-config --cflags libdv
    - Wno-deprecated pkg-config --cflags libquicktime -c -o riff.o riff.cc

    g++ -shared -o ../libmltkino.so factory.o producer_kino.o kino_wrapper.o avi.o error.o

    filehandler.o riff.o -L../../framework -lmlt -lpthread -Wl,—no-undefined -Wl,—as-needed
    - lstdc++ pkg-config --libs libquicktime pkg-config --libs libdv

    make[2] : Leaving directory `/root/mlt/src/modules/kino'

    make[2] : Entering directory `/root/mlt/src/modules/rotoscoping'

    make[2] : Nothing to be done for `all'.

    make[2] : Leaving directory `/root/mlt/src/modules/rotoscoping'

    make[2] : Entering directory `/root/mlt/src/modules/motion_est'

    make[2] : Nothing to be done for `all'.

    make[2] : Leaving directory `/root/mlt/src/modules/motion_est'

    make[2] : Entering directory `/root/mlt/src/modules/avformat'

    cc -shared -o ../libmltavformat.so factory.o filter_avcolour_space.o filter_avresample.o
    filter_avdeinterlace.o filter_swscale.o producer_avformat.o consumer_avformat.o -L../..
    /framework -lmlt -lpthread -Wl,—no-undefined -Wl,—as-needed -lavformat -lavcodec
    - lavutil -lswscale -lavdevice

    make[2] : Leaving directory `/root/mlt/src/modules/avformat'

    make[2] : Entering directory `/root/mlt/src/modules/effectv'

    cc -I../.. -DARCH_X86_64 -Wall -DPIC -O2 -pipe -fno-tree-dominator-opts -fno-tree-pre
    -ffast-math -DUSE_MMX -DUSE_SSE -DUSE_SSE2 -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
    -fPIC -pthread -c -o factory.o factory.c

    cc -I../.. -DARCH_X86_64 -Wall -DPIC -O2 -pipe -fno-tree-dominator-opts -fno-tree-pre
    - ffast-math -DUSE_MMX -DUSE_SSE -DUSE_SSE2 -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
    - fPIC -pthread -c -o filter_burn.o filter_burn.c

    cc -I../.. -DARCH_X86_64 -Wall -DPIC -O2 -pipe -fno-tree-dominator-opts -fno-tree-pre

    -ffast-math -DUSE_MMX -DUSE_SSE -DUSE_SSE2 -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE

    -fPIC -pthread -c -o image.o image.c

    cc -I../.. -DARCH_X86_64 -Wall -DPIC -O2 -pipe -fno-tree-dominator-opts -fno-tree-pre
    - ffast-math -DUSE_MMX -DUSE_SSE -DUSE_SSE2 -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
    - fPIC -pthread -c -o utils.o utils.c

    cc -shared -o ../libmlteffectv.so factory.o filter_burn.o image.o utils.o -L../../framework
    -lmlt -lm -Wl,—no-undefined -Wl,—as-needed

    make[2] : Leaving directory `/root/mlt/src/modules/effectv'

    make[2] : Entering directory `/root/mlt/src/modules/vmfx'

    cc -I../.. -DARCH_X86_64 -Wall -DPIC -O2 -pipe -fno-tree-dominator-opts -fno-tree-pre
    - ffast-math -DUSE_MMX -DUSE_SSE -DUSE_SSE2 -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
    - fPIC -pthread -c -o factory.o factory.c

    cc -I../.. -DARCH_X86_64 -Wall -DPIC -O2 -pipe -fno-tree-dominator-opts -fno-tree-pre
    - ffast-math -DUSE_MMX -DUSE_SSE -DUSE_SSE2 -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
    - fPIC -pthread -c -o filter_chroma.o filter_chroma.c

    filter_chroma.c : In function ‘filter_get_image’ :

    filter_chroma.c:52:10 : warning : variable ‘y’ set but not used [-Wunused-but-set-variable]

    cc -I../.. -DARCH_X86_64 -Wall -DPIC -O2 -pipe -fno-tree-dominator-opts -fno-tree-pre
    - ffast-math -DUSE_MMX -DUSE_SSE -DUSE_SSE2 -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
    - fPIC -pthread -c -o filter_chroma_hold.o filter_chroma_hold.c

    filter_chroma_hold.c : In function ‘filter_get_image’ :

    filter_chroma_hold.c:52:10 : warning : variable ‘y’ set but not used [-Wunused-but-set-
    variable]

    cc -I../.. -DARCH_X86_64 -Wall -DPIC -O2 -pipe -fno-tree-dominator-opts -fno-tree-pre
    - ffast-math -DUSE_MMX -DUSE_SSE -DUSE_SSE2 -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
    - fPIC -pthread -c -o filter_mono.o filter_mono.c

    cc -I../.. -DARCH_X86_64 -Wall -DPIC -O2 -pipe -fno-tree-dominator-opts -fno-tree-pre
    - ffast-math -DUSE_MMX -DUSE_SSE -DUSE_SSE2 -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
    - fPIC -pthread -c -o filter_shape.o filter_shape.c

    filter_shape.c : In function ‘filter_process’ :

    filter_shape.c:137:9 : warning : variable ‘extension’ set but not used [-Wunused-but-set-
    variable]
    cc -I../.. -DARCH_X86_64 -Wall -DPIC -O2 -pipe -fno-tree-dominator-opts -fno-tree-pre
    - ffast-math -DUSE_MMX -DUSE_SSE -DUSE_SSE2 -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
    - fPIC -pthread -c -o producer_pgm.o producer_pgm.c

    cc -shared -o ../libmltvmfx.so factory.o filter_chroma.o filter_chroma_hold.o filter_mono.o
    filter_shape.o producer_pgm.o -L../../framework -lmlt -Wl,—no-undefined -Wl,—as-needed

    make[2] : Leaving directory `/root/mlt/src/modules/vmfx'

    make[2] : Entering directory `/root/mlt/src/modules/gtk2'

    cc -I../.. -DARCH_X86_64 -Wall -DPIC -O2 -pipe -fno-tree-dominator-opts -fno-tree-pre -ffast-math -DUSE_MMX -DUSE_SSE -DUSE_SSE2 -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fPIC -pthread pkg-config  --cflags gtk+-2.0 pkg-config  --cflags gdk-pixbuf-2.0 pkg-config  --cflags pangoft2 -c -o factory.o factory.c
    factory.c : In function ‘initialise’ :
    factory.c:47:3 : warning : ‘g_type_init’ is deprecated (declared at /usr/include/glib-2.0/gobject/gtype.h:669) [-Wdeprecated-declarations]

    cc -I../.. -DARCH_X86_64 -Wall -DPIC -O2 -pipe -fno-tree-dominator-opts -fno-tree-pre
    - ffast-math -DUSE_MMX -DUSE_SSE -DUSE_SSE2 -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
    - fPIC -pthread pkg-config  --cflags gtk+-2.0 pkg-config  --cflags gdk-pixbuf-2.0
    pkg-config  --cflags pangoft2 -c -o consumer_gtk2.o consumer_gtk2.c

    cc -I../.. -DARCH_X86_64 -Wall -DPIC -O2 -pipe -fno-tree-dominator-opts -fno-tree-pre
    - ffast-math -DUSE_MMX -DUSE_SSE -DUSE_SSE2 -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
    - fPIC -pthread pkg-config  --cflags gtk+-2.0 pkg-config  --cflags gdk-pixbuf-2.0 pkg-config  --cflags pangoft2 -c -o producer_pixbuf.o producer_pixbuf.c
    cc -I../.. -DARCH_X86_64 -Wall -DPIC -O2 -pipe -fno-tree-dominator-opts -fno-tree-pre -ffast-math -DUSE_MMX -DUSE_SSE -DUSE_SSE2 -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fPIC -pthread pkg-config  --cflags gtk+-2.0 pkg-config  --cflags gdk-pixbuf-2.0 pkg-config  --cflags pangoft2 -c -o pixops.o pixops.c
    pixops.c : In function ‘pixops_process’ :
    pixops.c:410:20 : warning : variable ‘tcolor2’ set but not used [-Wunused-but-set-variable]

    pixops.c:410:11 : warning : variable ‘tcolor1’ set but not used [-Wunused-but-set-variable]

    cc -I../.. -DARCH_X86_64 -Wall -DPIC -O2 -pipe -fno-tree-dominator-opts -fno-tree-pre
    - ffast-math -DUSE_MMX -DUSE_SSE -DUSE_SSE2 -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE

    -fPIC -pthread pkg-config  --cflags gtk+-2.0 pkg-config  --cflags gdk-pixbuf-2.0

    pkg-config  --cflags pangoft2 -c -o filter_rescale.o filter_rescale.c

    cc -I../.. -DARCH_X86_64 -Wall -DPIC -O2 -pipe -fno-tree-dominator-opts -fno-tree-pre
    - ffast-math -DUSE_MMX -DUSE_SSE -DUSE_SSE2 -g -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
    - fPIC -pthread pkg-config  --cflags gtk+-2.0 pkg-config  --cflags gdk-pixbuf-2.0
    pkg-config  --cflags pangoft2 -c -o producer_pango.o producer_pango.c

    producer_pango.c:28:31 : fatal error : freetype/freetype.h : No such file or directory
    compilation terminated.

    make[2] : * [producer_pango.o] Error 1

    make[2] : Leaving directory `/root/mlt/src/modules/gtk2'

    make[1] : * [all] Error 1

    make[1] : Leaving directory `/root/mlt/src/modules'

    make : * [all] Error 1

    Anyone please help me to install MLT, I really need help seriously.

  • How to implement live video streaming with ffmpeg without using WebRTC ?

    8 août 2024, par Artem

    Following up on my previous question, I'd like to inquire about alternative methods for live video streaming using ffmpeg (WebRTC is not an option due to certain constraints I prefer not to discuss here).

    


    Context :

    


    I have a Go application where a goroutine launches ffmpeg to process a video stream, which is then delivered to the main goroutine via a chan []byte. I tried using WebSocket, but encountered issues as described in the previous question. HLS also didn't work well due to significant latency and artifacts like green squares on the video.

    


    Based on a comment in the previous question, I attempted to stream the video via a simple GET request. Here's the Go handler I implemented :

    


    func stream(helperApp agent.Helper) func(rw http.ResponseWriter, rr *http.Request) {
   a := atomic.Bool{}
   return func(rw http.ResponseWriter, rr *http.Request) {
      if !a.CAS(false, true) {
         http.Error(rw, "already running", http.StatusInternalServerError)
         return
      }

      rw.Header().Set("Access-Control-Allow-Origin", "*")
      rw.Header().Set("Content-Type", "video/mp2t")

      out := make(chan []byte)

      // create StreamParam
      go ScreenCaptureForLiveStream(StreamParam, out) // ffmpeg process starts inside

      r, w := io.Pipe()
      go func() {
         for data := range out {
            w.Write(data)
            fmt.Println(len(data))
         }
      }()
      io.Copy(rw, r)
   }
}



    


    On the client side (HTML) :

    


    <video muted="muted" src="http://localhost:8080/stream" controls="controls"></video>&#xA;

    &#xA;

    In the browser console, I can see data being received, but the video doesn't play.

    &#xA;

    FFmpeg is executed with these parameters :

    &#xA;

    -loglevel error -f avfoundation -framerate 5 -capture_cursor 1 -capture_mouse_clicks 1 -i 1 -c:v libx264 -pix_fmt yuv420p -vf pad=&#x27;ceil(iw/2)*2:ceil(ih/2)*2&#x27; -threads 0 -preset veryfast -bf 2 -f mpegts pipe:1&#xA;&#xA;

    &#xA;

    For validation, I ran :

    &#xA;

    ffmpeg -i http://localhost:8080/stream -c copy out.mp4&#xA;&#xA;

    &#xA;

    The video was successfully saved and plays.

    &#xA;

    Question :&#xA;What alternative methods exist to implement live video streaming with ffmpeg, aside from WebRTC ? Why does the current approach of streaming video via HTTP GET request not function correctly in the browser, and how can this be resolved ?

    &#xA;