Recherche avancée

Médias (1)

Mot : - Tags -/Christian Nold

Autres articles (71)

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

  • Mise à jour de la version 0.1 vers 0.2

    24 juin 2013, par

    Explications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
    Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...)

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

Sur d’autres sites (9028)

  • How to set min, max and avg bitrate or vbv delay using FFMPEG for livestream in Python ? [closed]

    10 mai 2024, par Tebyy

    I'm trying to set the minimum, maximum, and average bitrate or vbv delay for a WebM livestream in Python using FFMPEG, but it still shows "0" or "N/A". I've checked the documentation, and everything seems correct. I've also searched for solutions online, but none of them have solved my problem. Does anyone know what I might be doing wrong and how it should be done correctly ?

    


    FFMPEG Command :

    


    ffmpeg_command = [
        'ffmpeg', '-f', 'rawvideo', '-pix_fmt', 'bgr24',
        '-s:v', '1920x1080', '-r', '60',
        '-i', '-',
        # '-an',  # Turn off the audio track
        '-c:v', 'libvpx-vp9', '-g', '60', '-keyint_min', '60',
        '-b:v', '6M', '-minrate', '4M', '-maxrate', '12M', '-bufsize', '8M',
        '-crf', '0', '-deadline', 'realtime', '-tune', 'psnr', '-quality', 'good',
        '-tile-columns', '6', '-threads', '16', '-lag-in-frames', '16',
        '-f', 'webm', '-'
    ]


    


    PyCharm Console Logs :

    


    ffmpeg version N-115112-g39ce8a9695-20240507 Copyright (c) 2000-2024 the FFmpeg developers
  built with gcc 13.2.0 (crosstool-NG 1.26.0.65_ecc5e41)
  configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --disable-w32threads --enable-pthreads --enable-iconv --enable-libxml2 --enable-zlib --enable-libfreetype --enable-libfribidi --enable-gmp --enable-fontconfig --enable-libharfbuzz --enable-libvorbis --enable-opencl --disable-libpulse --enable-libvmaf --disable-libxcb --disable-xlib --enable-amf --enable-libaom --enable-libaribb24 --enable-avisynth --enable-chromaprint --enable-libdav1d --enable-libdavs2 --enable-libdvdread --enable-libdvdnav --disable-libfdk-aac --enable-ffnvcodec --enable-cuda-llvm --enable-frei0r --enable-libgme --enable-libkvazaar --enable-libaribcaption --enable-libass --enable-libbluray --enable-libjxl --enable-libmp3lame --enable-libopus --enable-librist --enable-libssh --enable-libtheora --enable-libvpx --enable-libwebp --enable-lv2 --enable-libvpl --enable-openal --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-librav1e --enable-librubberband --enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libsvtav1 --enable-libtwolame --enable-libuavs3d --disable-libdrm --enable-vaapi --enable-libvidstab --enable-vulkan --enable-libshaderc --enable-libplacebo --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libzimg --enable-libzvbi --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-libs=-lgomp --extra-ldflags=-pthread --extra-ldexeflags= --cc=x86_64-w64-mingw32-gcc --cxx=x86_64-w64-mingw32-g++ --ar=x86_64-w64-mingw32-gcc-ar --ranlib=x86_64-w64-mingw32-gcc-ranlib --nm=x86_64-w64-mingw32-gcc-nm --extra-version=20240507
  libavutil      59. 17.100 / 59. 17.100
  libavcodec     61.  5.103 / 61.  5.103
  libavformat    61.  3.103 / 61.  3.103
  libavdevice    61.  2.100 / 61.  2.100
  libavfilter    10.  2.101 / 10.  2.101
  libswscale      8.  2.100 /  8.  2.100
  libswresample   5.  2.100 /  5.  2.100
  libpostproc    58.  2.100 / 58.  2.100
Input #0, rawvideo, from 'fd:':
  Duration: N/A, start: 0.000000, bitrate: 2985984 kb/s
  Stream #0:0: Video: rawvideo (BGR[24] / 0x18524742), bgr24, 1920x1080, 2985984 kb/s, 60 tbr, 60 tbn
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> vp9 (libvpx-vp9))
[libvpx-vp9 @ 000002972f387100] v1.14.0
Output #0, webm, to 'pipe:':
  Metadata:
    encoder         : Lavf61.3.103
  Stream #0:0: Video: vp9, gbrp(pc, gbr/unknown/unknown, progressive), 1920x1080, q=2-31, 6000 kb/s, 60 fps, 1k tbn
      Metadata:
        encoder         : Lavc61.5.103 libvpx-vp9
      Side data:
        cpb: bitrate max/min/avg: 0/0/0 buffer size: 8000000 vbv_delay: N/A


    


  • HEVC with alpha [closed]

    3 mai 2024, par foxhable

    I trying create HEVC with alpha video from png images through ffmpeg.

    


    When i try, it outputs a video that works, has a transparent background and opens in QuickTime, but does not open in Safari. Then i try creating in prores 4444 codec and convert from macOS Context Menu -> Encode Selected Video Files with HEVC 1080p and Preserve Transparency. It has work - video with transparent background, open in QuickTime and in Safari.

    


    So i tried understand what a difference in meta data and only what i find its working video has HVEC encoder, but not working has Lavc61.5.103 hevc_videotoolbox. Can i somehow programmatically or from utilities like ffmpeg create video with HEVC With alpha, which working like from macOS context menu ? macOS context menu doesnt fit because i cant compress or create many videos

    


    Detail info

    


    I have example of working video. Info from ffprobe

    


    ffprobe movie-hevc.mov
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '.\movie-hevc.mov':
  Metadata:
    major_brand     : qt
    minor_version   : 0
    compatible_brands: qt
    creation_time   : 2021-01-02T10:33:38.000000Z
  Duration: 00:00:09.02, start: 0.000000, bitrate: 4053 kb/s
  Stream #0:0[0x1](und): Video: hevc (Main) (hvc1 / 0x31637668), yuv420p(tv, progressive), 1280x720 [SAR 1:1 DAR 16:9], 4046 kb/s, 60 fps, 60 tbr, 600 tbn (default)
      Metadata:
        creation_time   : 2021-01-02T10:33:38.000000Z
        handler_name    : Core Media Video
        vendor_id       : [0][0][0][0]
        encoder         : HEVC


    


    Info about video which i create in prores by ffmpeg command, then convert through macOS context menu

    


    command :

    


    ffmpeg -i a%d.png -r 30 -c:v prores_ks -profile:v 4  -allow_sw 1 -alpha_quality 1 -vtag hvc1 prores.mov


    


    info after converting

    


    ffprobe .\native-hevc.mov
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '.\native-hevc.mov':
  Metadata:
    major_brand     : qt
    minor_version   : 0
    compatible_brands: qt
    creation_time   : 2024-05-03T07:04:26.000000Z
  Duration: 00:00:12.77, start: 0.000000, bitrate: 8796 kb/s
  Stream #0:0[0x1](und): Video: hevc (Main) (hvc1 / 0x31637668), yuv420p(tv, bt709), 1920x1920, 8792 kb/s, 30 fps, 30 tbr, 15360 tbn (default)
      Metadata:
        creation_time   : 2024-05-03T07:04:27.000000Z
        handler_name    : Core Media Video
        vendor_id       : [0][0][0][0]
        encoder         : HEVC


    


    Info about video which i`m create direct in hevc by ffmpeg command

    


    ffmpeg -i a%d.png -r 30 -c:v hevc_videotoolbox -allow_sw 1 -alpha_quality 1 -vtag hvc1 ffmpeg-hevc.mov


    


    Info :

    


    ffprobe .\ffmpeg-hevc.mov
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '.\ffmpeg-hevc.mov':
  Metadata:
    major_brand     : qt
    minor_version   : 512
    compatible_brands: qt
    encoder         : Lavf61.3.103
  Duration: 00:00:12.77, start: 0.000000, bitrate: 3437 kb/s
  Stream #0:0[0x1]: Video: hevc (Main) (hvc1 / 0x31637668), yuv420p(tv, bottom coded first (swapped)), 1920x1920, 3435 kb/s, 30 fps, 30 tbr, 15360 tbn (default)
      Metadata:
        handler_name    : VideoHandler
        vendor_id       : FFMP
        encoder         : Lavc61.5.103 hevc_videotoolbox


    


    also i tried :

    


      

    • props -allow_sw 0 - get error
    • 


    • -alpha-quality 0.75, -pix_fmt bgra - safari not open, QT yes, transparent bg
    • 


    • without -vtag hvc1 - QuickTime cannot open
    • 


    • Tried convert from webm to hevc_videotoolbox - safari not open, QT yes, transparent bg
    • 


    • tried convert webm into pngs and in hevc_videotoolbox - safari not open, QT yes, transparent bg
    • 


    


    Tried answers :

    


    


    mac info :

    


      

    • macOS Monterey 12.7.2
    • 


    • Mac mini (Late 2012)
    • 


    • Core i5 3210M
    • 


    • Graphics Intel HD 4000
    • 


    


  • FFMPEG in Node.js : Conversion Failed

    11 juillet 2024, par cuneyttyler

    I have a small node.js web app. I use like this in a get request :

    


    app.get('/api/voice/:gender/:voice/:pitch', function(req, res){
        if(req.params.pitch == "1" || req.params.pitch == "1.0") {
            const file = "./voices/" + req.params.gender.toLowerCase() + "/" + req.params.voice + ".mp3"
            res.download(file);
            return
        }

        const inputFile = "./voices/" + req.params.gender.toLowerCase() + "/" + req.params.voice + ".mp3"
        const output_file = "./Audio/Temp/" + req.params.voice + ".mp3"
        ffmpeg()
                .input(inputFile)
                .audioCodec('pcm_s16le') // Set the audio codec to PCM with 16-bit depth
                .audioFrequency(44100) // Set the sample rate
                .on('error', function(err) {
                    console.error('Error while converting:', err);
                })
                .on('end', function() {
                    // res.download(output_file)
                })
                .save(output_file);

    });


    


    It gives Conversion Failed error :

    


    [2024-07-11T18:11:22.880Z] Error while converting: Error: ffmpeg exited with code 1: Conversion failed!&#xA;&#xA;    at ChildProcess.<anonymous> (d:\Dev\Anima\Client\node_modules\fluent-ffmpeg\lib\processor.js:180:22)&#xA;    at ChildProcess.emit (d:\Dev\Anima\Client\lib\events.js:519:28)&#xA;    at ChildProcess._handle.onexit (d:\Dev\Anima\Client\lib\internal\child_process.js:294:12)&#xA;    at Process.callbackTrampoline (node:internal/async_hooks:130:17) {stack: &#x27;Error: ffmpeg exited with code 1: Conversion …Trampoline (node:internal/async_hooks:130:17)&#x27;, message: &#x27;ffmpeg exited with code 1: Conversion failed!&#xA;&#x27;}&#xA;</anonymous>

    &#xA;

    When I use same code in a node.js desktop(.exe) app, it successfully runs. When I use it in an express.js app, it fails. Error message is not clear. What is the issue ?

    &#xA;