Recherche avancée

Médias (3)

Mot : - Tags -/plugin

Autres articles (59)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

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

  • La sauvegarde automatique de canaux SPIP

    1er avril 2010, par

    Dans le cadre de la mise en place d’une plateforme ouverte, il est important pour les hébergeurs de pouvoir disposer de sauvegardes assez régulières pour parer à tout problème éventuel.
    Pour réaliser cette tâche on se base sur deux plugins SPIP : Saveauto qui permet une sauvegarde régulière de la base de donnée sous la forme d’un dump mysql (utilisable dans phpmyadmin) mes_fichiers_2 qui permet de réaliser une archive au format zip des données importantes du site (les documents, les éléments (...)

Sur d’autres sites (7748)

  • HOW TO APPLY TRANSITION EFFECTS IN FFMPEG ? [closed]

    8 janvier 2023, par SMART

    I have 7 videos with audio, i tried to apply transition effects on these files, written code in python for this , i got error .

    


    python code :
import subprocess as sp

    


        def runffmpeg(cmd):
        try:
            pipe = sp.Popen(cmd, stdout=sp.PIPE, stderr=sp.STDOUT,
                            universal_newlines=True)
    
            ffmpeg_output, _ = pipe.communicate()
    
            print(ffmpeg_output)
            return (ffmpeg_output)
    
        except sp.CalledProcessError as err:
            print("FFmpeg stdout output on error:\n" + err.output)
    
    def get_duration(fn):
        cmd = (
            f"ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 {fn}")
    
        cmd1 = (
            f"ffprobe -v error -of flat=s_ -select_streams 1 -show_entries stream=duration -of default=noprint_wrappers=1:nokey=1 {fn}")
        try:
            pipe = sp.Popen(cmd, stdout=sp.PIPE, stderr=sp.STDOUT,
                            universal_newlines=True)
    
            viddur, _ = pipe.communicate()
    
            print(viddur)
    
            pipe = sp.Popen(cmd1, stdout=sp.PIPE, stderr=sp.STDOUT,
                            universal_newlines=True)
    
            auddur, _ = pipe.communicate()
    
            try:
                auddur = float(auddur.strip())
            except:
                auddur = 0
    
            print(auddur)
    
            # if (len(auddur) == 0):
            #     auddur = 0
    
            return float(viddur.strip()), (auddur)
    
        except sp.CalledProcessError as err:
            print("FFmpeg stdout output on error:\n" + err.output)
    
    
    def trans(clips, effects, out="trans.mp4"):
        filtc = " [v1][v2]xfade=wipedown:duration=1:offset=4[x1];"
        i = 0
        fcv = ""
        fca = ""
        d1 = 0
        af = ""
        dur = []
        aud = []
        inp = ""
        j = 0
        print(len(clips))
    
        for x in clips:
            print(x[0])
            inp = (inp + " -i " + x)
    
            print(effects[0])
            print(x)
    
            v, a = get_duration(fn=x)
            dur.append(v)
    
        k = 0
        for x in dur:
    
            if (k == 0):
                fca = (fca + f"[{k}:a]adelay=0|0 [a{k+1}];")
            else:
                fca = (fca + f"[{k}:a]adelay={d1}|{d1} [a{k+1}];")
            aud.append(f"[a{k+1}]")
            k = (k+1)
            d1 = (d1+((x*1000)+3.5))
    
        d1 = 0
        for x in efects:
            for v in range(0, j+1, +1):
                d1 = (d1 + dur[v])
                d1 = (d1-((v+1)*3.5))
            # [0:a]adelay=0|0 [a1];
            if (i > 1):
    
                try:
                    fcv = (
                        fcv+f"[x{(i)}][{(i)}:v]xfade={x}:duration=3:offset={d1} [x{(i+1)}];")
                except:
                    pass
            else:
                print("j = %d" % j)
                fcv = (
                    fcv+f"[{(i)}:v][{(i+1)}:v]xfade={x}:duration=3:offset={d1} [x{(i+1)}];")
    
            j = (j+1)
            i = (i+1)
    
        for a in aud:
            af = (af+a)
        af = (af+f"amix=inputs={len(aud)} [faud]")
    
        inp = (inp+" -filter_complex \"")
        cmd = (
            f"ffmpeg {inp} {fcv} {fca} {af} \" -pix_fmt yuv420p -map \"[x{i}]\" -map \"[faud]\" -y {out}")
    
        print(cmd)
    
        try:
            pipe = sp.Popen(cmd, stdout=sp.PIPE, stderr=sp.STDOUT,
                            universal_newlines=True)
    
            ffmpeg_output, _ = pipe.communicate()
    
            print(ffmpeg_output)
    
        except sp.CalledProcessError as err:
            print("FFmpeg stdout output on error:\n" + err.output)
            
            


    


    these functions creates ffmpeg code like :
ffmpeg -i out1.mp4 -i out2.mp4 -i out3.mp4 -i out4.mp4 -i out5.mp4 -i out6.mp4 -i out7.mp4 -filter_complex " [0:v][1:v]xfade=wipedown:duration=3:offset=6.006009000000001 [x1] ;[1:v][2:v]xfade=dissolve:duration=3:offset=14.030023 [x2] ;[x2][2:v]xfade=pixelize:duration=3:offset=20.572042000000003 [x3] ;[x3][3:v]xfade=vuslice:duration=3:offset=21.621068000000008 [x4] ;[x4][4:v]xfade=radial:duration=3:offset=14.188099000000015 [x5] ;[x5][5:v]xfade=vertopen:duration=3:offset=-5.737862999999978 [x6] ; [0:a]adelay=0|0 [a1] ;[1:a]adelay=9509.509|9509.509 [a2] ;[2:a]adelay=18531.014000000003|18531.014000000003 [a3] ;[3:a]adelay=27552.519000000004|27552.519000000004 [a4] ;[4:a]adelay=36063.026000000005|36063.026000000005 [a5] ;[5:a]adelay=45084.531|45084.531 [a6] ;[6:a]adelay=53595.038|53595.038 [a7] ; [a1][a2][a3][a4][a5][a6][a7]amix=inputs=7 [faud] " -pix_fmt yuv420p -map "[x6]" -map "[faud]" -y trans.mp4

    


    this ffmpeg command generates error :

    


        ffmpeg version 2022-12-25-git-eeb280f351-full_build-www.gyan.dev Copyright (c) 2000-2022 the FFmpeg developers
      built with gcc 12.1.0 (Rev2, 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-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libvpl --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-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      57. 43.100 / 57. 43.100
      libavcodec     59. 55.103 / 59. 55.103
      libavformat    59. 34.102 / 59. 34.102
      libavdevice    59.  8.101 / 59.  8.101
      libavfilter     8. 53.100 /  8. 53.100
      libswscale      6.  8.112 /  6.  8.112
      libswresample   4.  9.100 /  4.  9.100
      libpostproc    56.  7.100 / 56.  7.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'out1.mp4':
      Metadata:
        major_brand     : isom
        minor_version   : 512
        compatible_brands: isomiso2avc1mp41
        encoder         : Lavf59.34.102
      Duration: 00:00:09.51, start: 0.000000, bitrate: 1358 kb/s
      Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, bt470bg/unknown/unknown, progressive), 1080x1920, 1303 kb/s, 26.94 fps, 25 tbr, 1000k tbn (default)
        Metadata:
          handler_name    : VideoHandler
          vendor_id       : [0][0][0][0]
          encoder         : Lavc59.55.103 libx264
      Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 51 kb/s (default)
        Metadata:
          handler_name    : SoundHandler
          vendor_id       : [0][0][0][0]
    Input #1, mov,mp4,m4a,3gp,3g2,mj2, from 'out2.mp4':
      Metadata:
        major_brand     : isom
        minor_version   : 512
        compatible_brands: isomiso2avc1mp41
        encoder         : Lavf59.34.102
      Duration: 00:00:09.02, start: 0.000000, bitrate: 1060 kb/s
      Stream #1:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, bt470bg/unknown/unknown, progressive), 1080x1920, 1007 kb/s, 26.73 fps, 25 tbr, 1000k tbn (default)
        Metadata:
          handler_name    : VideoHandler
          vendor_id       : [0][0][0][0]
          encoder         : Lavc59.55.103 libx264
      Stream #1:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 47 kb/s (default)
        Metadata:
          handler_name    : SoundHandler
          vendor_id       : [0][0][0][0]
    Input #2, mov,mp4,m4a,3gp,3g2,mj2, from 'out3.mp4':
      Metadata:
        major_brand     : isom
        minor_version   : 512
        compatible_brands: isomiso2avc1mp41
        encoder         : Lavf59.34.102
      Duration: 00:00:09.02, start: 0.000000, bitrate: 1228 kb/s
      Stream #2:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, bt470bg/unknown/unknown, progressive), 1080x1920, 1178 kb/s, 26.73 fps, 25 tbr, 1000k tbn (default)
        Metadata:
          handler_name    : VideoHandler
          vendor_id       : [0][0][0][0]
          encoder         : Lavc59.55.103 libx264
      Stream #2:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 46 kb/s (default)
        Metadata:
          handler_name    : SoundHandler
          vendor_id       : [0][0][0][0]
    Input #3, mov,mp4,m4a,3gp,3g2,mj2, from 'out4.mp4':
      Metadata:
        major_brand     : isom
        minor_version   : 512
        compatible_brands: isomiso2avc1mp41
        encoder         : Lavf59.34.102
      Duration: 00:00:08.51, start: 0.000000, bitrate: 987 kb/s
      Stream #3:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, bt470bg/unknown/unknown, progressive), 1080x1920, 938 kb/s, 26.57 fps, 25 tbr, 1000k tbn (default)
        Metadata:
          handler_name    : VideoHandler
          vendor_id       : [0][0][0][0]
          encoder         : Lavc59.55.103 libx264
      Stream #3:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 43 kb/s (default)
        Metadata:
          handler_name    : SoundHandler
          vendor_id       : [0][0][0][0]
    Input #4, mov,mp4,m4a,3gp,3g2,mj2, from 'out5.mp4':
      Metadata:
        major_brand     : isom
        minor_version   : 512
        compatible_brands: isomiso2avc1mp41
        encoder         : Lavf59.34.102
      Duration: 00:00:09.02, start: 0.000000, bitrate: 1221 kb/s
      Stream #4:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, bt470bg/unknown/unknown, progressive), 1080x1920, 1170 kb/s, 26.73 fps, 25 tbr, 1000k tbn (default)
        Metadata:
          handler_name    : VideoHandler
          vendor_id       : [0][0][0][0]
          encoder         : Lavc59.55.103 libx264
      Stream #4:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 47 kb/s (default)
        Metadata:
          handler_name    : SoundHandler
          vendor_id       : [0][0][0][0]
    Input #5, mov,mp4,m4a,3gp,3g2,mj2, from 'out6.mp4':
      Metadata:
        major_brand     : isom
        minor_version   : 512
        compatible_brands: isomiso2avc1mp41
        encoder         : Lavf59.34.102
      Duration: 00:00:08.51, start: 0.000000, bitrate: 1073 kb/s
      Stream #5:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, bt470bg/unknown/unknown, progressive), 1080x1920, 1027 kb/s, 26.57 fps, 25 tbr, 1000k tbn (default)
        Metadata:
          handler_name    : VideoHandler
          vendor_id       : [0][0][0][0]
          encoder         : Lavc59.55.103 libx264
      Stream #5:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 41 kb/s (default)
        Metadata:
          handler_name    : SoundHandler
          vendor_id       : [0][0][0][0]
    Input #6, mov,mp4,m4a,3gp,3g2,mj2, from 'out7.mp4':
      Metadata:
        major_brand     : isom
        minor_version   : 512
        compatible_brands: isomiso2avc1mp41
        encoder         : Lavf59.34.102
      Duration: 00:00:09.02, start: 0.000000, bitrate: 757 kb/s
      Stream #6:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, bt470bg/unknown/unknown, progressive), 1080x1920, 705 kb/s, 26.73 fps, 25 tbr, 1000k tbn (default)
        Metadata:
          handler_name    : VideoHandler
          vendor_id       : [0][0][0][0]
          encoder         : Lavc59.55.103 libx264
      Stream #6:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 46 kb/s (default)
        Metadata:
          handler_name    : SoundHandler
          vendor_id       : [0][0][0][0]
    Filter xfade:default has an unconnected output


    


    Filter xfade:default has an unconnected output , what does it mean ?

    


    in adelay area , getting -ve nos , what to do ?

    


    #useage :

    


    vc = ["C1.mp4", "C2.mp4", "C3.mp4", "C4.mp4", "C5.mp4", "C6.mp4", "C7.mp4"]

    


        i = 1
    gc = []
    for x in vc:
        gc.append(f"out{i}.mp4")
        i = (i+1)
    
    print(gc)
    
    trans(clips=gc, effects=efects)


    


    system details :
windows 10 64 bits
python 3.9 64 bits

    


  • vvcdec : add CTU parser

    5 décembre 2023, par Nuo Mi
    vvcdec : add CTU parser
    

    Co-authored-by : Xu Mu <toxumu@outlook.com>
    Co-authored-by : Frank Plowman <post@frankplowman.com>
    Co-authored-by : Shaun Loo <shaunloo10@gmail.com>
    Co-authored-by : Wu Jianhua <toqsxw@outlook.com>

    • [DH] libavcodec/vvc/vvc_ctu.c
    • [DH] libavcodec/vvc/vvc_ctu.h
  • FFmpeg - Down-mix AC3 5.1 to Fraunhofer FDK ACC 2.1

    5 septembre 2024, par Aida_Aida

    I'm trying to re-encode some of my old videos to "archive" them.

    &#xA;&#xA;

    I do not need to keep the audio 5.1, but I would like to down-mix it to 2.1 instead of Stereo which sounds just too dull.

    &#xA;&#xA;

    This is the relevant part which takes care of the down-mix to Stereo and re-encodes the audio, I would like to adjust it to down-mix to 2.1.

    &#xA;&#xA;

    -ac 2 -c:a libfdk_aac -vbr 3&#xA;

    &#xA;&#xA;

    I did some research and it seems that there is a -layouts switch which does support 2.1, but I don't know, how to use it. What channel should go where ?

    &#xA;&#xA;

    Just for illustration and for you to get the whole picture - I'm currently using this script :

    &#xA;&#xA;

    #!/bin/bash&#xA;for i in *.mkv;&#xA;do &#xA;    #Output new files by prepending "x265" to the names&#xA;&#xA;    /cygdrive/c/media-autobuild_suite/local32/bin-video/ffmpeg.exe -y -i "$i" -c:v libx265 -preset slow -b:v 512k -x265-params pass=1 -c:s copy -c:a copy -f matroska NUL &amp;&amp; \&#xA;    /cygdrive/c/media-autobuild_suite/local32/bin-video/ffmpeg.exe    -i "$i" -c:v libx265 -preset slow -b:v 512k -x265-params pass=2 -c:s copy -ac 2 -c:a libfdk_aac -vbr 3 x265_"$i"&#xA;&#xA;done&#xA;

    &#xA;