Recherche avancée

Médias (1)

Mot : - Tags -/Rennes

Autres articles (35)

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

  • De l’upload à la vidéo finale [version standalone]

    31 janvier 2010, par

    Le chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
    Upload et récupération d’informations de la vidéo source
    Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
    Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...)

  • Librairies et binaires spécifiques au traitement vidéo et sonore

    31 janvier 2010, par

    Les logiciels et librairies suivantes sont utilisées par SPIPmotion d’une manière ou d’une autre.
    Binaires obligatoires FFMpeg : encodeur principal, permet de transcoder presque tous les types de fichiers vidéo et sonores dans les formats lisibles sur Internet. CF ce tutoriel pour son installation ; Oggz-tools : outils d’inspection de fichiers ogg ; Mediainfo : récupération d’informations depuis la plupart des formats vidéos et sonores ;
    Binaires complémentaires et facultatifs flvtool2 : (...)

Sur d’autres sites (5143)

  • Heroku : FFMpeg installed but php worker can't find it

    4 décembre 2019, par Greco Jonathan

    Context

    I’ve a RabbitMQ’s queue that contains AMQPMessage, those messages are referencing a video that needs to be treated (cut essentially and encoded in x264 also)

    Here’s the code that cause the issue (pretty straightforward)

           $ffprobe = FFProbe::create([
               'ffmpeg.binaries'  => '/usr/bin/ffmpeg',
               'ffprobe.binaries' => '/usr/bin/ffprobe',
           ]);

    Error Message

    TL ;DR :
    Error: "Unable to load FFProbe"

    [2019-12-03 14:55:07] messenger.ERROR : Error thrown while handling message App\Api\Message\AMQPvideoFFMPEG. Sending for retry #1 using 1000 ms delay. Error : "Unable to load FFProbe" "message" :"[object] (App\Api\Message\AMQPvideoFFMPEG : {})","class" :"App\Api\Message\AMQPvideoFFMPEG","retryCount":1,"delay":1000,"error" :"Unable to load FFProbe","exception" :"[object] (Symfony\Component\Messenger\Exception\HandlerFailedException(code : 0) : Unable to load FFProbe at /app/vendor/symfony/messenger/Middleware/HandleMessageMiddleware.php:80, FFMpeg\Exception\ExecutableNotFoundException(code : 0) : Unable to load FFProbe at /app/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Driver/FFProbeDriver.php:50, Alchemy\BinaryDriver\Exception\ExecutableNotFoundException(code : 0) : Executable not found, proposed : /usr/bin/ffprobe at /app/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/AbstractBinary.php:160)" []

    Configuration & tests

    On Heroku I’ve 2 dynos :

    - web $(composer config bin-dir)/heroku-php-nginx -C config/packages/dev/heroku_nginx.conf public/
    - worker php bin/console messenger:consume ffmpeg

    On this platform, I’ve also 3 buildpacks, look below, with this specific buildpack :

    with a custom buildpack for ffmpeg

    To make sure that all is available here’s the results of my checks :

    heroku run "ffmpeg -version" -a project-dev
    Running ffmpeg -version on ⬢ project-dev... up, run.6134 (Hobby)
    ffmpeg version N-67574-g9d6ad68 Copyright (c) 2000-2014 the FFmpeg developers
    built on Nov 12 2014 11:35:09 with gcc 4.4.3 (Ubuntu 4.4.3-4ubuntu5.1)
    configuration: --enable-static --disable-shared --disable-asm --extra-libs=-L/app/vendor/libs/lib --extra-cflags=-I/app/vendor/libs/include --prefix=/app/vendor/ffmpeg --enable-libfdk-aac --enable-nonfree --enable-libx264 --enable-gpl
    libavutil      54. 11.100 / 54. 11.100
    libavcodec     56. 12.100 / 56. 12.100
    libavformat    56. 12.103 / 56. 12.103
    libavdevice    56.  2.100 / 56.  2.100
    libavfilter     5.  2.103 /  5.  2.103
    libswscale      3.  1.101 /  3.  1.101
    libswresample   1.  1.100 /  1.  1.100
    libpostproc    53.  3.100 / 53.  3.100
    heroku run "ffprobe -version" -a projet-dev
    Running ffprobe -version on ⬢ projet-dev... up, run.2357 (Hobby)
    ffprobe version N-67574-g9d6ad68 Copyright (c) 2007-2014 the FFmpeg developers
    built on Nov 12 2014 11:35:09 with gcc 4.4.3 (Ubuntu 4.4.3-4ubuntu5.1)
    configuration: --enable-static --disable-shared --disable-asm --extra-libs=-L/app/vendor/libs/lib --extra-cflags=-I/app/vendor/libs/include --prefix=/app/vendor/ffmpeg --enable-libfdk-aac --enable-nonfree --enable-libx264 --enable-gpl
    libavutil      54. 11.100 / 54. 11.100
    libavcodec     56. 12.100 / 56. 12.100
    libavformat    56. 12.103 / 56. 12.103
    libavdevice    56.  2.100 / 56.  2.100
    libavfilter     5.  2.103 /  5.  2.103
    libswscale      3.  1.101 /  3.  1.101
    libswresample   1.  1.100 /  1.  1.100
    libpostproc    53.  3.100 / 53.  3.100

    All good !

    Disclaimer

    This code is working well on another platform (handled by kubernetes), so it may need some adjustments with heroku. But can’t find it.

    Why this error since my configuration is not showing any missconfigurations ? What am I missing here ?

  • Attempting to concat with FFMpeg but failing

    11 mars 2020, par GloriousRez

    I’ve been trying to create a php app that more or less acts as a video editor. I’d like my users to insert both images and videos and then concat these in a certain order and add music. I’ve decided to utilize ffmpeg for this purpose.

    I’ve succeeded in making mp4s of these images and add music to the mp4s with the following commands

    $ ffmpeg -r 0.1 -i %05d.morph.jpg output.mp4

    $ ffmpeg -i output.mp4 -i audio.mp3 -c:v copy -c:a aac -b:a 128k final.mp4

    This produces decent results. But this is where the issues start.

    I’ve been attempting to concat these created mp4s (WITHOUT music) but cannot seem to do so. Nor can I even concat them with a duplicate of themselves.
    (I’ve been using the concat demuxer as indicated in this link : How to concatenate two MP4 files using FFmpeg ?)

    $ cat mylist.txt
    file 'output.mp4'
    file 'vid1.mp4'
    file 'output2.mp4'

    $ ffmpeg -f concat -safe 0 -i mylist.txt -c copy outputSemi.mp4

    The result is a video (of the appropriate length), however only the first video is played, and repeated over and over, often with green screens mixing between the frames.

    Any help would be helpful.


    Figure I should include the result of the concat command

    ffmpeg version 4.2.1 Copyright (c) 2000-2019 the FFmpeg developers
     built with Apple clang version 11.0.0 (clang-1100.0.33.8)
     configuration: --prefix=/usr/local/Cellar/ffmpeg/4.2.1_2 --enable-shared --enable-pthreads --enable-version3 --enable-avresample --cc=clang --host-cflags='-I/Library/Java/JavaVirtualMachines/adoptopenjdk-13.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/adoptopenjdk-13.jdk/Contents/Home/include/darwin -fno-stack-check' --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libmp3lame --enable-libopus --enable-librubberband --enable-libsnappy --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-libsoxr --enable-videotoolbox --disable-libjack --disable-indev=jack
     libavutil      56. 31.100 / 56. 31.100
     libavcodec     58. 54.100 / 58. 54.100
     libavformat    58. 29.100 / 58. 29.100
     libavdevice    58.  8.100 / 58.  8.100
     libavfilter     7. 57.100 /  7. 57.100
     libavresample   4.  0.  0 /  4.  0.  0
     libswscale      5.  5.100 /  5.  5.100
     libswresample   3.  5.100 /  3.  5.100
     libpostproc    55.  5.100 / 55.  5.100
    [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fc70f00bc00] Auto-inserting h264_mp4toannexb bitstream filter
    Input #0, concat, from 'mylist.txt':
     Duration: N/A, start: 0.000000, bitrate: 1507 kb/s
       Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc), 4864x3648 [SAR 1:1 DAR 4:3], 1507 kb/s, 0.10 fps, 0.10 tbr, 16384 tbn, 0.20 tbc
       Metadata:
         handler_name    : VideoHandler
    File 'outputFFMPEG.mp4' already exists. Overwrite ? [y/N] y
    Output #0, mp4, to 'outputFFMPEG.mp4':
     Metadata:
       encoder         : Lavf58.29.100
       Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc), 4864x3648 [SAR 1:1 DAR 4:3], q=2-31, 1507 kb/s, 0.10 fps, 0.10 tbr, 16384 tbn, 16384 tbc
       Metadata:
         handler_name    : VideoHandler
    Stream mapping:
     Stream #0:0 -> #0:0 (copy)
    Press [q] to stop, [?] for help
    [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fc70e80b600] Auto-inserting h264_mp4toannexb bitstream filter
    frame=    5 fps=0.0 q=-1.0 Lsize=    9543kB time=00:00:40.00 bitrate=1954.4kbits/s speed= 169x    
    video:9542kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.009467%
  • MoviePY error when running in Docker Container using Amazon Elastic Container Service

    27 mai 2023, par Giba

    I'm developing a script that generates a video with the information provided by the user using Moviepy. The application runs in a docker container.

    


    In my test environment (locally) the application usually runs generating the videos as expected. However, when I deploy to the Amazon Elastic Container Instance environment, the application renders the following error :

    


    /tmp/334.mp31boi_q7b: Invalid data found when processing input
Here are the file infos returned by ffmpeg: 
ffmpeg version 4.2.2-static https://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 8 (Debian 8.3.0-6)

libpostproc 55. 5.100 / 55. 5.100
libswresample 3. 5.100 / 3. 5.100
libswscale 5. 5.100 / 5. 5.100
libavfilter 7. 57.100 / 7. 57.100
libavdevice 58. 8.100 / 58. 8.100
libavformat 58. 29.100 / 58. 29.100
libavcodec 58. 54.100 / 58. 54.100
libavutil 56. 31.100 / 56. 31.100

configuration: 
--enable-gpl 
--enable-version3 
--enable-static 
--disable-debug 
--disable-ffplay 
--disable-indev=sndio 
--disable-outdev=sndio 
--cc=gcc 
--enable-fontconfig 
--enable-frei0r 
--enable-gnutls 
--enable-gmp 
--enable-libgme 
--enable-gray 
--enable-libaom 
--enable-libfribidi 
--enable-libass 
--enable-libvmaf 
--enable-libfreetype 
--enable-libmp3lame 
--enable-libopencore-amrnb 
--enable-libopencore-amrwb 
--enable-libopenjpeg 
--enable-librubberband 
--enable-libsoxr 
--enable-libspeex 
--enable-libsrt 
--enable-libvorbis 
--enable-libopus 
--enable-libtheora 
--enable-libvidstab 
--enable-libvo-amrwbenc 
--enable-libvpx 
--enable-libwebp 
--enable-libx264 
--enable-libx265 
--enable-libxml2 
--enable-libdav1d 
--enable-libxvid 
--enable-libzvbi 
--enable-libzimg

OSError: MoviePy error: failed to read the duration of file /tmp/334.mp31boi_q7b.


    


    To retrieve files sent by the user, I use tempfile.NamedTemporaryFile and manipulate them in memory. I make some slices in the audio to synchronize with images (as if they were slides) and to concatenate them I use the following :

    


    audio_concat = concatenate_audioclips(audio_clips)


    


    and at the end, I generate the video as follows :

    


    with tempfile.NamedTemporaryFile(prefix=video_path, suffix='', delete=False) as data:
    video.write_videofile(data.name, fps=24, codec="libx264", ffmpeg_params=['-f', 'mp4'], threads=multiprocessing.cpu_count())


    


    As said, everything works fine in the container locally, but the same does not happen in ECS.

    


    Does anyone have any idea what I might be doing wrong ?

    


    My Dockerfile

    


    FROM ubuntu:latest
ENV DEBIAN_FRONTEND noninteractive

WORKDIR /video_composer

COPY requirements.txt /video_composer/requirements.txt

RUN apt-get update && apt-get install -y software-properties-common gcc && \
    add-apt-repository -y ppa:deadsnakes/ppa

RUN apt-get update && apt-get install -y python3.11 python3-distutils python3-pip python3-apt
RUN apt-get -y update
RUN apt-get install -y ffmpeg

RUN pip install -r /video_composer/requirements.txt

RUN python3 -m certifi

COPY . /video_composer/

EXPOSE 8003

CMD ["uvicorn", "video_composer:app", "--proxy-headers", "--host", "0.0.0.0", "--port", "8003"]


    


    Some solutions consulted and no success

    


    Moviepy unable to read duration of file

    


    https://github.com/Zulko/moviepy/issues/116

    


    When trying to execute the mentioned solutions I continued to have the same error in the ECS but without errors locally.