Recherche avancée

Médias (2)

Mot : - Tags -/doc2img

Autres articles (43)

  • Qualité du média après traitement

    21 juin 2013, par

    Le bon réglage du logiciel qui traite les média est important pour un équilibre entre les partis ( bande passante de l’hébergeur, qualité du média pour le rédacteur et le visiteur, accessibilité pour le visiteur ). Comment régler la qualité de son média ?
    Plus la qualité du média est importante, plus la bande passante sera utilisée. Le visiteur avec une connexion internet à petit débit devra attendre plus longtemps. Inversement plus, la qualité du média est pauvre et donc le média devient dégradé voire (...)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • La file d’attente de SPIPmotion

    28 novembre 2010, par

    Une file d’attente stockée dans la base de donnée
    Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
    Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...)

Sur d’autres sites (8530)

  • ffmpeg "Stream maping" taking a long time to load

    29 août 2022, par Bambi2k21

    I am using ffmpeg to speed up and slow down parts where the talker is talking and being silent.
To do this I run something like this(the code below[more exactly the filter part, the rest is the same] is an example, not my exact code) :
    cmd /c ffmpeg -i Soon.mp4 -filter_complex "[0:v]trim=0:2,setpts=PTS-STARTPTS[v1];[0:v]trim=2:5,setpts=2*(PTS-STARTPTS)[v2];[0:v]trim=5:6,setpts=PTS-STARTPTS[v3];[0:a]atrim=0:2,asetpts=PTS-STARTPTS[a1];[0:a]atrim=2:5,asetpts=PTS-STARTPTS,atempo=0.5[a2];[0:a]atrim=5:6,asetpts=PTS-STARTPTS[a3];[v1][a1][v2][a2][v3][a3]concat=n=3:v=1:a=1" -vcodec libx264 -crf 10 -preset ultrafast -profile:v baseline -shortest -tune:v stillimage -pix_fmt yuv420p -colorspace:v "bt709" -color_primaries:v "bt709" -color_trc:v "bt709" -color_range:v "tv" output.mp4
    I added some optimisations to make it faster and they do work, but the amount of time needed for "Stream mapping" does not change. My problem with it is not the amount of time it takes but the fact that it gets progressively slower as each iterations of codes like this are run. At start it takes 20 secs but towards the end it takes close to a minute, I thought maybe it gets cluttered so I added "cmd /c" to pretty much restart the console, but no change. How do I change this ?

    
How stream mapping looks in one of the iterations.

    


    Stream mapping:
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:0 (h264) -> trim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  Stream #0:1 (aac) -> atrim:default
  concat -> Stream #0:0 (libx264)
  concat -> Stream #0:1 (aac)
Press [q] to stop, [?] for help```


    


  • ffmpeg Windows : standard transcode produces file that "uses unsupported encoding settings" [duplicate]

    17 août 2022, par David M. Cotter

    using the basic command :

    


    ffmpeg -i infile.mp4 -vcodec libx264 -acodec aac output.mp4


    


    poduces a file that can't be played by the standard Windows Media Player app.
Is there something i'm missing ?

    


    Here is the log data.

    


    C:> \\Mac\depot\kJams\External\ffmpeg\win\bin\ffmpeg.exe -i "\\Mac\Home\Desktop\Christina lying down.AVI" -vcodec libx264 -acodec aac output.mp4
ffmpeg version git-2019-11-01-53c21c2 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 9.2.1 (GCC) 20191010
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf
  libavutil      56. 35.101 / 56. 35.101
  libavcodec     58. 60.100 / 58. 60.100
  libavformat    58. 33.100 / 58. 33.100
  libavdevice    58.  9.100 / 58.  9.100
  libavfilter     7. 66.100 /  7. 66.100
  libswscale      5.  6.100 /  5.  6.100
  libswresample   3.  6.100 /  3.  6.100
  libpostproc    55.  6.100 / 55.  6.100
Guessed Channel Layout for Input Stream #0.1 : mono
Input #0, avi, from '\\Mac\Home\Desktop\Christina lying down.AVI':
  Metadata:
    creation_time   : 2006-01-26 18:19:22
    encoder         : CanonMVI02
  Duration: 00:00:07.70, start: 0.000000, bitrate: 14928 kb/s
    Stream #0:0: Video: mjpeg (Baseline) (MJPG / 0x47504A4D), yuvj422p(pc, bt470bg/unknown/unknown), 640x480, 14896 kb/s, 30 fps, 30 tbr, 30 tbn, 30 tbc
    Stream #0:1: Audio: pcm_u8 ([1][0][0][0] / 0x0001), 11024 Hz, mono, u8, 88 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (mjpeg (native) -> h264 (libx264))
  Stream #0:1 -> #0:1 (pcm_u8 (native) -> aac (native))
Press [q] to stop, [?] for help
[aac @ 0f06a740] Too many bits 6408.707483 > 6144 per frame requested, clamping to max
[libx264 @ 0f068b40] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
[libx264 @ 0f068b40] profile High 4:2:2, level 3.0, 4:2:2, 8-bit
[libx264 @ 0f068b40] 264 - core 158 - H.264/MPEG-4 AVC codec - Copyleft 2003-2019 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'output.mp4':
  Metadata:
    encoder         : Lavf58.33.100
    Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuvj422p(pc), 640x480, q=-1--1, 30 fps, 1000k tbn, 30 tbc
    Metadata:
      encoder         : Lavc58.60.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
    Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 11025 Hz, mono, fltp, 66 kb/s
    Metadata:
      encoder         : Lavc58.60.100 aac
frame=  231 fps=128 q=-1.0 Lsize=    1570kB time=00:00:07.70 bitrate=1668.3kbits/s speed=4.28x
video:1514kB audio:51kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.347234%
[libx264 @ 0f068b40] frame I:2     Avg QP:24.57  size: 27076
[libx264 @ 0f068b40] frame P:60    Avg QP:26.24  size: 12693
[libx264 @ 0f068b40] frame B:169   Avg QP:27.91  size:  4342
[libx264 @ 0f068b40] consecutive B-frames:  1.7%  1.7%  1.3% 95.2%
[libx264 @ 0f068b40] mb I  I16..4:  0.6% 97.6%  1.8%
[libx264 @ 0f068b40] mb P  I16..4:  0.1% 10.6%  0.5%  P16..4: 51.1% 17.9% 10.8%  0.0%  0.0%    skip: 8.9%
[libx264 @ 0f068b40] mb B  I16..4:  0.0%  1.2%  0.0%  B16..8: 51.8%  4.4%  0.7%  direct: 6.4%  skip:35.5%  L0:48.8% L1:46.4% BI: 4.8%
[libx264 @ 0f068b40] 8x8 transform intra:95.6% inter:78.5%
[libx264 @ 0f068b40] coded y,uvDC,uvAC intra: 89.0% 85.1% 53.7% inter: 29.0% 44.7% 6.7%
[libx264 @ 0f068b40] i16 v,h,dc,p: 19% 31%  8% 42%
[libx264 @ 0f068b40] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 11% 15% 33%  6%  7%  5%  9%  5%  8%
[libx264 @ 0f068b40] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 14% 21% 18%  7% 10%  6% 11%  5%  6%
[libx264 @ 0f068b40] i8c dc,h,v,p: 67% 13% 15%  5%
[libx264 @ 0f068b40] Weighted P-Frames: Y:8.3% UV:6.7%
[libx264 @ 0f068b40] ref P L0: 35.8% 10.5% 35.1% 17.4%  1.2%
[libx264 @ 0f068b40] ref B L0: 76.1% 19.2%  4.7%
[libx264 @ 0f068b40] ref B L1: 92.7%  7.3%
[libx264 @ 0f068b40] kb/s:1609.92
[aac @ 0f06a740] Qavg: 34311.295


    


    Ignore this part, Stack Overflow now requires that i type something more so it's not "mostly code"

    


  • Can't upload folder with large amount of files to google storage. I using "@ffmpeg-installer/ffmpeg" and @google-cloud/storage

    20 juillet 2022, par Dmytro

    I upload file to google storage using "@ffmpeg-installer/ffmpeg" and @google-cloud/storage in my node.js App.
Step 1. file uploading to fs is in child processes - one process for each type of resolution (totaly six).
step 2. encription (converting to stream)
step 3. upload to google storage

    


    I use "Upload a directory to a bucket" in order to send the video from the client to the Google Cloud Storage bucket.

    


    This way is working fine only with small video.

    


    for example when I upload video with duration one hour it split on chunk and totally I get more three thousands files. But the problem occurs when there are more than 1500 files

    


    So actually i upload folder with large amount of files, but not all of this files are uploaded to cloud.

    


    maybe someone had the similar problem and helps fix it.

    


    

    

    const uploadFolder = async (bucketName, directoryPath, socketInstance) => {
    try {
      let dirCtr = 1;
      let itemCtr = 0;
      const fileList = [];

      const onComplete = async () => {
        const folderName = nanoid(46);

        await Promise.all(
          fileList.map(filePath => {
            const fileName = path.relative(directoryPath, filePath);
            const destination = `${ folderName }/${ fileName }`;

            return storage
              .bucket(bucketName)
              .upload(filePath, { destination })
              .then(
                uploadResp => ({ fileName: destination, status: uploadResp[0] }),
                err => ({ fileName: destination, response: err })
              );
          })
        );

        if (socketInstance) socketInstance.emit('uploadProgress', {
          message: `Added files to Google bucket`,
          last: false,
          part: false
        });

        return folderName;
      };

      const getFiles = async directory => {
        const items = await fs.readdir(directory);
        dirCtr--;
        itemCtr += items.length;
        for(const item of items) {
          const fullPath = path.join(directory, item);
          const stat = await fs.stat(fullPath);
          itemCtr--;
          if (stat.isFile()) {
            fileList.push(fullPath);
          } else if (stat.isDirectory()) {
            dirCtr++;
            await getFiles(fullPath);
          }
        }
      }

      await getFiles(directoryPath);

      return onComplete();
    } catch (e) {
      log.error(e.message);
      throw new Error('Can\'t store folder.');
    }
  };