Recherche avancée

Médias (91)

Autres articles (67)

  • Les vidéos

    21 avril 2011, par

    Comme les documents de type "audio", Mediaspip affiche dans la mesure du possible les vidéos grâce à la balise html5 .
    Un des inconvénients de cette balise est qu’elle n’est pas reconnue correctement par certains navigateurs (Internet Explorer pour ne pas le nommer) et que chaque navigateur ne gère en natif que certains formats de vidéos.
    Son avantage principal quant à lui est de bénéficier de la prise en charge native de vidéos dans les navigateur et donc de se passer de l’utilisation de Flash et (...)

  • 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" ;

Sur d’autres sites (4464)

  • Facing issues with adding text over a video as watermark using ffmpeg in Laravel

    18 septembre 2024, par Kelash

    I am facing issues with adding text over a video as a watermark using pbmedia/laravel-ffmpeg.

    


    Where am I going wrong ?

    


    Code :

    


    $format = new X264();
$format->setAudioCodec('aac');
$format->setVideoCodec('libx264');
$format->setKiloBitrate(0);

$localPath = '/' . $this->video->id . '.mp4';

$ffmpeg = FFMpeg::fromDisk("public")
          ->open($localPath)
          ->addFilter(function ($filters) {
            $filters->custom("drawtext=fontfile=S:/Freelancer/version58trials/version58trials/public/webfonts/arial.TTF:text='Stack Overflow':fontcolor=white:fontsize=24");
          })
          ->export()
          ->toDisk('public')
          ->inFormat($format)
          ->save("watermark_video_added.mp4");


    


    And this is error I am getting :

    


    [2024-08-25 08:53:25] local.INFO: ffprobe running command C:\ffmpeg\bin\ffprobe.exe -help -loglevel quiet  
[2024-08-25 08:53:25] local.INFO: ffprobe executed command successfully  
[2024-08-25 08:53:25] local.INFO: ffprobe running command C:\ffmpeg\bin\ffprobe.exe "S:/Freelancer/version58trials/version58trials/storage/app/public/143.mp4" -show_streams -print_format json  
[2024-08-25 08:53:25] local.INFO: ffprobe executed command successfully  
[2024-08-25 08:53:25] local.INFO: ffmpeg running command C:\ffmpeg\bin\ffmpeg.exe -y -ss 00:00:01.00 -i "S:/Freelancer/version58trials/version58trials/storage/app/public/143.mp4" -vframes 1 -f image2 "S:/Freelancer/version58trials/version58trials/storage/app/public/RzBnC8ZESC40iRSfOuED66cb37513ccd11724594001-poster.jpg"  
[2024-08-25 08:53:26] local.INFO: ffmpeg executed command successfully  
[2024-08-25 08:53:26] local.INFO: ffmpeg running command C:\ffmpeg\bin\ffmpeg.exe -y -i "S:/Freelancer/version58trials/version58trials/storage/app/public/143.mp4" -threads 12 -vcodec libx264 -acodec aac -refs 6 -coder 1 -sc_threshold 40 -flags +loop -me_range 16 -subq 7 -i_qfactor 0.71 -qcomp 0.6 -qdiff 4 -trellis 1 -b:a 128k -vf "[in]drawtext=fontfile=S:/Freelancer/version58trials/version58trials/public/webfonts/arial.TTF:text='Stack Overflow':fontcolor=white:fontsize=24[out]" "S:/Freelancer/version58trials/version58trials/storage/app/public/watermark_video_added.mp4"  
[2024-08-25 08:53:26] local.INFO: ffprobe running command C:\ffmpeg\bin\ffprobe.exe "S:/Freelancer/version58trials/version58trials/storage/app/public/143.mp4" -show_format -print_format json  
[2024-08-25 08:53:26] local.INFO: ffprobe executed command successfully  
[2024-08-25 08:53:26] local.ERROR: ffmpeg failed to execute command C:\ffmpeg\bin\ffmpeg.exe -y -i "S:/Freelancer/version58trials/version58trials/storage/app/public/143.mp4" -threads 12 -vcodec libx264 -acodec aac -refs 6 -coder 1 -sc_threshold 40 -flags +loop -me_range 16 -subq 7 -i_qfactor 0.71 -qcomp 0.6 -qdiff 4 -trellis 1 -b:a 128k -vf "[in]drawtext=fontfile=S:/Freelancer/version58trials/version58trials/public/webfonts/arial.TTF:text='Stack Overflow':fontcolor=white:fontsize=24[out]" "S:/Freelancer/version58trials/version58trials/storage/app/public/watermark_video_added.mp4": ffmpeg version 2024-08-21-git-9d15fe77e3-full_build-www.gyan.dev Copyright (c) 2000-2024 the FFmpeg developers
  built with gcc 13.2.0 (Rev5, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libdavs2 --enable-libopenjpeg --enable-libquirc --enable-libuavs3d --enable-libxevd --enable-libzvbi --enable-libqrencode --enable-librav1e --enable-libsvtav1 --enable-libvvenc --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxeve --enable-libxvid --enable-libaom --enable-libjxl --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-dxva2 --enable-d3d11va --enable-d3d12va --enable-ffnvcodec --enable-libvpl --enable-nvdec --enable-nvenc --enable-vaapi --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libcodec2 --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
  libavutil      59. 34.100 / 59. 34.100
  libavcodec     61. 11.100 / 61. 11.100
  libavformat    61.  5.101 / 61.  5.101
  libavdevice    61.  2.100 / 61.  2.100
  libavfilter    10.  2.102 / 10.  2.102
  libswscale      8.  2.100 /  8.  2.100
  libswresample   5.  2.100 /  5.  2.100
  libpostproc    58.  2.100 / 58.  2.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'S:/Freelancer/version58trials/version58trials/storage/app/public/143.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: mp41isom
    creation_time   : 2024-08-25T10:28:56.000000Z
  Duration: 00:00:05.65, start: 0.000000, bitrate: 6491 kb/s
  Stream #0:0[0x1](und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(progressive), 1906x960 [SAR 1:1 DAR 953:480], 6317 kb/s, 30 fps, 30 tbr, 30k tbn (default)
      Metadata:
        creation_time   : 2024-08-25T10:28:56.000000Z
        handler_name    : VideoHandler
        vendor_id       : [0][0][0][0]
        encoder         : AVC Coding
  Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 192 kb/s (default)
      Metadata:
        creation_time   : 2024-08-25T10:28:56.000000Z
        handler_name    : SoundHandler
        vendor_id       : [0][0][0][0]
[AVFilterGraph @ 0000020e99b5f0c0] No option name near '/Freelancer/version58trials/version58trials/public/webfonts/arial.TTF:text=Stack Overflow:fontcolor=white:fontsize=24'
[AVFilterGraph @ 0000020e99b5f0c0] Error parsing a filter description around: [out]
[AVFilterGraph @ 0000020e99b5f0c0] Error parsing filterchain '[in]drawtext=fontfile=S:/Freelancer/version58trials/version58trials/public/webfonts/arial.TTF:text='Stack Overflow':fontcolor=white:fontsize=24[out]' around: [out]
Error opening output file S:/Freelancer/version58trials/version58trials/storage/app/public/watermark_video_added.mp4.
Error opening output files: Invalid argument


    


    What I tried, is manipulating that filter function but I couldn't make it.

    


    For your knowledge,the video paths and font path is correct the only issue is with ffmpeg adding watermark text logic.

    


  • Is there any possibility to transcode a h264 hls/m3u8 live stream into another HEVC (h265) hls/m3u8 live stream using FFmpeg in real time ?

    2 septembre 2024, par Ghenadie Pripa

    The command I used :

    


    ffmpeg -i  https://tezaurtv.md/wp-content/uploads/live/index.m3u8 -c:v libx265 -b:v 1500k -tag:v hvc1 -c:a aac -b:a 128k -f hls -hls_time 10 -hls_list_size 10 -hls_flags delete_segments+append_list+program_date_time -hls_playlist_type event -hls_segment_type mpegts -hls_segment_filename "D:/BRUT/HLS/test/stream_%d.ts" -vsync 2 -rtbufsize 500M -loglevel debug D:/BRUT/HLS/test/stream.m3u8


    


    I tried a lot of commands and parameters but nothing helps. The experiment is on local Windows. Transcode with ffmpeg and play with FFplay.

    


    The problem is the following : After I start stream.m3u8 to play after a few seconds the picture and sound stops. What is wrong in the FFmpeg command ?

    


    ffmpeg version 7.0.2-full_build-www.gyan.dev Copyright (c) 2000-2024 the FFmpeg developers
  built with gcc 13.2.0 (Rev5, Built by MSYS2 project)


    


    ffplay version 7.0.2-full_build-www.gyan.dev Copyright (c) 2003-2024 the FFmpeg developers
  built with gcc 13.2.0 (Rev5, Built by MSYS2 project)


    


    An error from FFplay :

    


    [hevc @ 0000023d8c320940] Output frame with POC 239.
[hevc @ 0000023d8c320940] Decoded frame with POC 241.
[hevc @ 0000023d8c320e40] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0
[hevc @ 0000023d8c320e40] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0
[hevc @ 0000023d8c320e40] Output frame with POC 240.
[hevc @ 0000023d8c320e40] Decoded frame with POC 240.
[hevc @ 0000023d855aae80] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0
[hevc @ 0000023d855aae80] nal_unit_type: 0(TRAIL_N), nuh_layer_id: 0, temporal_id: 0
[hevc @ 0000023d855aae80] Output frame with POC 241.
[hevc @ 0000023d855aae80] Decoded frame with POC 242.
[hevc @ 0000023d8c2cab40] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0
[hevc @ 0000023d8c2cab40] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0
[hevc @ 0000023d8c2cab40] Output frame with POC 242.
[hevc @ 0000023d8c2cab40] Decoded frame with POC 247.
[hevc @ 0000023d8c2da9c0] nal_unit_type: 35(AUD), nuh_layer_id: 0, temporal_id: 0
[hevc @ 0000023d8c2da9c0] nal_unit_type: 1(TRAIL_R), nuh_layer_id: 0, temporal_id: 0
[hevc @ 0000023d8c2da9c0] Output frame with POC 243.
[hevc @ 0000023d8c2da9c0] Decoded frame with POC 245.
[hls @ 0000023d85544b80] Opening 'D:\BRUT\HLS\test\stream.m3u8' for reading
[hls @ 0000023d85544b80] Skip ('#EXT-X-VERSION:3')
[hls @ 0000023d85544b80] Skip ('#EXT-X-DISCONTINUITY')
[hls @ 0000023d85544b80] Skip ('#EXT-X-PROGRAM-DATE-TIME:2024-08-30T16:29:28.175+0300')
[AVIOContext @ 0000023d8c327040] Statistics: 207 bytes read, 0 seeks
[hls @ 0000023d85544b80] Opening 'D:\BRUT\HLS\test\stream.m3u8' for reading
[hls @ 0000023d85544b80] Skip ('#EXT-X-VERSION:3')sq=    0B
[hls @ 0000023d85544b80] Skip ('#EXT-X-DISCONTINUITY')
[hls @ 0000023d85544b80] Skip ('#EXT-X-PROGRAM-DATE-TIME:2024-08-30T16:29:28.175+0300')
[AVIOContext @ 0000023d8c326980] Statistics: 207 bytes read, 0 seeks
[hls @ 0000023d85544b80] Opening 'D:\BRUT\HLS\test\stream.m3u8' for reading
[hls @ 0000023d85544b80] Skip ('#EXT-X-VERSION:3')
[hls @ 0000023d85544b80] Skip ('#EXT-X-DISCONTINUITY')
[hls @ 0000023d85544b80] Skip ('#EXT-X-PROGRAM-DATE-TIME:2024-08-30T16:29:28.175+0300')
[AVIOContext @ 0000023d8c326f00] Statistics: 207 bytes read, 0 seeks
  11.30 A-V:-18.499 fd=   3 aq=    0KB vq=    0KB sq=    0B


    


    I tried to transcode in real time hls h264 to hls 265.

    


  • How to copy video duration to the output file with ffmpeg ? [closed]

    5 novembre 2024, par user28147375

    I want to copy the input's duration to the output. Is there even a way in ffmpeg to achieve this ?
There is nothing about this in the docs.

    


    I'm currently using these flags :

    


    const ffmpegProcess = cp.spawn(ffmpegPath, [
       '-i', `pipe:3`,
       '-i', `pipe:4`,
       '-map', '0:v:0',
       '-map', '1:a:0',
       '-c:v', 'copy',
       '-c:a', 'aac',
       '-crf', '27',
       '-pix_fmt', 'yuv420p',
       '-preset', 'veryfast',
       '-movflags', 'frag_keyframe+empty_moov',
       '-f', 'mp4',
       '-shortest',
        '-'
    ], {
        windowsHide: true,
        stdio: [
            'pipe', 'pipe', 'inherit', 'pipe', 'pipe'
        ],
    });


    


    The problem :

    


    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'pipe:3':
  Metadata:
    major_brand     : dash
    minor_version   : 0
    compatible_brands: iso6avc1mp41
    creation_time   : 2024-10-05T10:39:09.000000Z
  Duration: 00:02:18.14, start: 0.000000, bitrate: N/A
Stream #0:0[0x1](und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1280x720 [SAR 1:1 DAR 16:9], 1 kb/s, 23.98 fps, 23.98 tbr, 24k tbn (default)


    


    Output #0, mp4, to 'pipe:':
  Metadata:
    major_brand     : dash
    minor_version   : 0
    compatible_brands: iso6avc1mp41
    encoder         : Lavf60.3.100
  ---> (DURATION MISSING) <---
Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 1 kb/s, 23.98 fps, 23.98 tbr, 24k tbn (default)