
Recherche avancée
Médias (2)
-
Valkaama DVD Label
4 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Image
-
Podcasting Legal guide
16 mai 2011, par
Mis à jour : Mai 2011
Langue : English
Type : Texte
Autres articles (43)
-
Qualité du média après traitement
21 juin 2013, parLe 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, parCertains 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, parUne 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 Bambi2k21I 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. Cotterusing 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 DmytroI 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.');
 }
 };