Recherche avancée

Médias (91)

Autres articles (13)

  • Installation en mode ferme

    4 février 2011, par

    Le mode ferme permet d’héberger plusieurs sites de type MediaSPIP en n’installant qu’une seule fois son noyau fonctionnel.
    C’est la méthode que nous utilisons sur cette même plateforme.
    L’utilisation en mode ferme nécessite de connaïtre un peu le mécanisme de SPIP contrairement à la version standalone qui ne nécessite pas réellement de connaissances spécifique puisque l’espace privé habituel de SPIP n’est plus utilisé.
    Dans un premier temps, vous devez avoir installé les mêmes fichiers que l’installation (...)

  • Le plugin : Podcasts.

    14 juillet 2010, par

    Le problème du podcasting est à nouveau un problème révélateur de la normalisation des transports de données sur Internet.
    Deux formats intéressants existent : Celui développé par Apple, très axé sur l’utilisation d’iTunes dont la SPEC est ici ; Le format "Media RSS Module" qui est plus "libre" notamment soutenu par Yahoo et le logiciel Miro ;
    Types de fichiers supportés dans les flux
    Le format d’Apple n’autorise que les formats suivants dans ses flux : .mp3 audio/mpeg .m4a audio/x-m4a .mp4 (...)

  • La gestion des forums

    3 novembre 2011, par

    Si les forums sont activés sur le site, les administrateurs ont la possibilité de les gérer depuis l’interface d’administration ou depuis l’article même dans le bloc de modification de l’article qui se trouve dans la navigation de la page.
    Accès à l’interface de modération des messages
    Lorsqu’il est identifié sur le site, l’administrateur peut procéder de deux manières pour gérer les forums.
    S’il souhaite modifier (modérer, déclarer comme SPAM un message) les forums d’un article particulier, il a à sa (...)

Sur d’autres sites (3345)

  • FFMPEG Error Code : "Cannot find a matching stream for unlabeled input pad 0 on filter Parsed_scale_10" ; [complex_filter], [-loop 1], [overlay]

    30 août 2020, par Leroy Freyler

    I'm currently experimenting a bit with ffmpeg around.

    


    I want to produce a video that has a .jpg background image over which several videos are overlaid.

    


    Currently I can overlay a black background with any number of videos. But I'm trying to add a static image to the background and then it doesn't work anymore.

    


    My FFMPEG command line is

    


    command = f"ffmpeg -loop 1 -i background.jpg -i vid1.mp4 -i vid2.mp4 -i vid3.mp4 -i vid4.mp4 -filter_complex "nullsrc=size=1920x1080 [base]; 
    [0:v] setpts=PTS-STARTPTS, scale=320x240 [low]; 
    [1:v] setpts=PTS-STARTPTS, scale=320x240 [upperleft]; 
    [2:v] setpts=PTS-STARTPTS, scale=320x240 [upperright]; 
    [3:v] setpts=PTS-STARTPTS, scale=320x240 [lowerleft]; 
    [4:v] setpts=PTS-STARTPTS; scale=320x240 [lowerright]; 
    [base][upperleft] overlay=shortest=1 [tmp0]; 
    [tmp0][low] overlay=shortest=1:x=420:y=240 [tmp1]; 
    [tmp1][upperright] overlay=shortest=1:x=320 [tmp2]; 
    [tmp2][lowerleft] overlay=shortest=1:y=240 [tmp3]; 
    [tmp3][lowerright] overlay=shortest=1:x=320:y=240" 
    -c:v libx264 output.mkv"


    


    This will generate the following error message

    


    Input #0, image2, from '/home/leroy/Schreibtisch/FFMPEG_TEST/bild.jpg':
  Duration: 00:00:00.04, start: 0.000000, bitrate: 71996 kb/s
    Stream #0:0: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 25 tbn, 25 tbc
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from '/home/leroy/Schreibtisch/FFMPEG_TEST/1.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: mp42mp41isomavc1
    creation_time   : 2015-08-07T09:13:36.000000Z
  Duration: 00:00:30.53, start: 0.000000, bitrate: 4675 kb/s
    Stream #1:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 4486 kb/s, 30 fps, 30 tbr, 30 tbn, 60 tbc (default)
    Metadata:
      creation_time   : 2015-08-07T09:13:36.000000Z
      handler_name    : L-SMASH Video Handler
      encoder         : AVC Coding
    Stream #1:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 256 kb/s (default)
    Metadata:
      creation_time   : 2015-08-07T09:13:36.000000Z
      handler_name    : L-SMASH Audio Handler
Input #2, mov,mp4,m4a,3gp,3g2,mj2, from '/home/leroy/Schreibtisch/FFMPEG_TEST/2.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: mp42isomavc1
    creation_time   : 2010-03-20T21:29:11.000000Z
    encoder         : HandBrake 0.9.4 2009112300
  Duration: 00:00:05.57, start: 0.000000, bitrate: 551 kb/s
    Stream #2:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p(tv, bt709), 560x320, 465 kb/s, 30 fps, 30 tbr, 90k tbn, 60 tbc (default)
    Metadata:
      creation_time   : 2010-03-20T21:29:11.000000Z
      encoder         : JVT/AVC Coding
    Stream #2:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 83 kb/s (default)
    Metadata:
      creation_time   : 2010-03-20T21:29:11.000000Z
Input #3, mov,mp4,m4a,3gp,3g2,mj2, from '/home/leroy/Schreibtisch/FFMPEG_TEST/3.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: mp42isomavc1
    creation_time   : 2010-03-20T21:29:11.000000Z
    encoder         : HandBrake 0.9.4 2009112300
  Duration: 00:00:05.57, start: 0.000000, bitrate: 551 kb/s
    Stream #3:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p(tv, bt709), 560x320, 465 kb/s, 30 fps, 30 tbr, 90k tbn, 60 tbc (default)
    Metadata:
      creation_time   : 2010-03-20T21:29:11.000000Z
      encoder         : JVT/AVC Coding
    Stream #3:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 83 kb/s (default)
    Metadata:
      creation_time   : 2010-03-20T21:29:11.000000Z
Input #4, mov,mp4,m4a,3gp,3g2,mj2, from '/home/leroy/Schreibtisch/FFMPEG_TEST/4.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: mp42isomavc1
    creation_time   : 2010-03-20T21:29:11.000000Z
    encoder         : HandBrake 0.9.4 2009112300
  Duration: 00:00:05.57, start: 0.000000, bitrate: 551 kb/s
    Stream #4:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p(tv, bt709), 560x320, 465 kb/s, 30 fps, 30 tbr, 90k tbn, 60 tbc (default)
    Metadata:
      creation_time   : 2010-03-20T21:29:11.000000Z
      encoder         : JVT/AVC Coding
    Stream #4:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 83 kb/s (default)
    Metadata:
      creation_time   : 2010-03-20T21:29:11.000000Z

Cannot find a matching stream for unlabeled input pad 0 on filter Parsed_scale_10


    


    I used Ubuntu 18.04.LST and Programmed in Python3.6.9.

    


    My complet Code is :

    


    from pathlib import Path
import os
suffix = '.mp4'
suffix1 = '.jpg'
os.system("clear")


input_path = Path.home() / "/home/leroy/Schreibtisch/FFMPEG_TEST"
file_paths = [subp for subp in input_path.rglob('*') if  suffix == subp.suffix or suffix1 == subp.suffix]
file_paths.sort()
output_path =  Path.home() / "/home/leroy/Schreibtisch/FFMPEG_TEST/new"
output_path.mkdir(parents=True, exist_ok=True)


vid1 = '/home/leroy/Schreibtisch/FFMPEG_TEST/1.mp4'
vid2 = '/home/leroy/Schreibtisch/FFMPEG_TEST/2.mp4'
vid3 = '/home/leroy/Schreibtisch/FFMPEG_TEST/3.mp4'
vid4 = '/home/leroy/Schreibtisch/FFMPEG_TEST/4.mp4'
background = '/home/leroy/Schreibtisch/FFMPEG_TEST/bild.jpg'


command = f"ffmpeg -loop 1 -i {background} -i {vid1} -i {vid2} -i {vid3} -i {vid4} -filter_complex \
\"nullsrc=size=1920x1080 [base]; \
[0:v] setpts=PTS-STARTPTS, scale=320x240 [low]; \
[1:v] setpts=PTS-STARTPTS, scale=320x240 [upperleft]; \
[2:v] setpts=PTS-STARTPTS, scale=320x240 [upperright]; \
[3:v] setpts=PTS-STARTPTS, scale=320x240 [lowerleft]; \
[4:v] setpts=PTS-STARTPTS; scale=320x240 [lowerright]; \
[base][upperleft] overlay=shortest=1 [tmp0]; \
[tmp0][low] overlay=shortest=1:x=420:y=240 [tmp1]; \
[tmp1][upperright] overlay=shortest=1:x=320 [tmp2]; \
[tmp2][lowerleft] overlay=shortest=1:y=240 [tmp3]; \
[tmp3][lowerright] overlay=shortest=1:x=320:y=240 \" \
-c:v libx264 output.mkv"
print(command)
os.system(command)



    


  • FFmpeg - resize by max width/height, keep aspect ratio and avoid "width/height not divisible by 2" error

    29 août 2020, par Eduard Unruh

    This is the code I'm using to resize the video to either max width 640 or max height 700 and keeping the aspect ratio :

    


    ffmpeg/bin/ffmpeg.exe" -y -i ttt.mp4 -profile:v high -c:v libx264 -filter_complex "scale=iw*min(1\,min(640/iw\,700/ih)):-1" -acodec copy -maxrate 600k -bufsize 300k -crf 18 ttt2.mp4


    


    On some video I either get width not divisible by 2 or height not divisible by 2

    


    I looked up that the solution would be :

    


    -vf "crop=trunc(iw/2)*2:trunc(ih/2)*2"


    


    So I tried :

    


    ffmpeg/bin/ffmpeg.exe" -y -i ttt.mp4 -profile:v high -c:v libx264 -filter_complex "scale=iw*min(1\,min(640/iw\,700/ih)):-1" -vf "crop=trunc(iw/2)*2:trunc(ih/2)*2" -acodec copy -maxrate 600k -bufsize 300k -crf 18 ttt2.mp4


    


    and get the error :

    


    -vf/-af/-filter and -filter_complex cannot be used together for the same stream


    


    so how to do this ??

    


  • Getting "Your FFProbe version is too old..." error in Laravel during file upload with FFMpeg

    9 septembre 2020, par pjotr79

    currently I'm working on a video uploader (to S3) script in Laravel. I'd like to get some info about the uploaded video and later I'd like to create thumbnails as well (with the help of this plugin). As a first step I've installed the FFMpeg with brew :

    


    $ brew update
$ brew upgrade
$ brew cleanup
$ brew install ffmpeg --force
$ brew link ffmpeg


    


    Then in composer

    


    $ composer require php-ffmpeg/php-ffmpeg


    


    When I'm checking the installation I get the following

    


    which ffmpeg
/usr/local/bin/ffmpeg

which ffprobe
/usr/local/bin/ffprobe


    


    By checking the version :

    


    ffmpeg -version
ffmpeg version 4.3.1 Copyright (c) 2000-2020 the FFmpeg developers
    built with Apple clang version 11.0.3 (clang-1103.0.32.62)
    configuration: --prefix=/usr/local/Cellar/ffmpeg/4.3.1 --enable-shared --enable-pthreads --enable-version3 --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libdav1d --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --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. 51.100 / 56. 51.100
    libavcodec     58. 91.100 / 58. 91.100
    libavformat    58. 45.100 / 58. 45.100
    libavdevice    58. 10.100 / 58. 10.100
    libavfilter     7. 85.100 /  7. 85.100
    libavresample   4.  0.  0 /  4.  0.  0
    libswscale      5.  7.100 /  5.  7.100
    libswresample   3.  7.100 /  3.  7.100
    libpostproc    55.  7.100 / 55.  7.100


    


    The path also seems to be ok

    


    echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin


    


    But when I'm trying to upload a video file (sample.mp4) I have the following error message :
Your FFProbe version is too old and does not support -help option, please upgrade.

    


    Here's the snippet from my code to test the upload :

    


        use FFMpeg;


    public function upload(Request $request)
    {
        if ($request->hasFile('files')) {
            $files = $request->file('files');
            foreach ($files as $key => $file) {
                $filename = pathinfo($file->getClientOriginalName(), PATHINFO_FILENAME);
                $extension = $file->getClientOriginalExtension();
                $filename = str_slug($filename).'.'.$extension;
                Storage::disk('s3Files')->put($filename, file_get_contents($file),'public');
                $fileurl = \Config::get('s3.files').$filename;

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

                $filesave = new File();
                $filesave->name = $filename;
                $filesave->type = $file->getClientMimeType();
                $filesave->size = $file->getSize();
                $filesave->duration = $ffprobe->format($fileurl)->get('duration');
                $filesave->save();

            }
        }
    }


    


    Now I spent hours to try to find a solution (also checking this thread here, but I couldn't solve the issue.

    


    My dev environment runs on Mac OS X 10.15.5, with Nginx and PHP 7.4.

    


    Do you have any idea how could I fix this problem ?