
Recherche avancée
Autres articles (75)
-
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 (...) -
Gestion des droits de création et d’édition des objets
8 février 2011, parPar défaut, beaucoup de fonctionnalités sont limitées aux administrateurs mais restent configurables indépendamment pour modifier leur statut minimal d’utilisation notamment : la rédaction de contenus sur le site modifiables dans la gestion des templates de formulaires ; l’ajout de notes aux articles ; l’ajout de légendes et d’annotations sur les images ;
-
Dépôt de média et thèmes par FTP
31 mai 2013, parL’outil MédiaSPIP traite aussi les média transférés par la voie FTP. Si vous préférez déposer par cette voie, récupérez les identifiants d’accès vers votre site MédiaSPIP et utilisez votre client FTP favori.
Vous trouverez dès le départ les dossiers suivants dans votre espace FTP : config/ : dossier de configuration du site IMG/ : dossier des média déjà traités et en ligne sur le site local/ : répertoire cache du site web themes/ : les thèmes ou les feuilles de style personnalisées tmp/ : dossier de travail (...)
Sur d’autres sites (8249)
-
Creating a timelapse from a directory of jpgs
26 juillet 2020, par Casey DavisI'm using this code to create a timelapse from a directory of images. My directory has about 1600 jpgs in it that all start with the date in this format 2020-03-01-time.jpg, 2020-03-02-time-name.jpg, etc. Sorting alphabetically works just fine. It runs, but it seems to only get through a few hundred photos and makes a 3 second long mp4. I'm not sure what I'm doing wrong.


I'm not opposed to moving to python or anything else. Eventually I'll need to pass some parameters in here and I'll attempt to automate it and ftp the output to a webserver.


Here is the command :


ffmpeg -r 24 -pattern_type glob -i '*.jpg' -s hd1080 -vcodec libx264 timelapse.mp4



Here is the output :


ffmpeg version 3.4.8-0ubuntu0.2 Copyright (c) 2000-2020 the FFmpeg developers
 built with gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04)
 configuration: --prefix=/usr --extra-version=0ubuntu0.2 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
 libavutil 55. 78.100 / 55. 78.100
 libavcodec 57.107.100 / 57.107.100
 libavformat 57. 83.100 / 57. 83.100
 libavdevice 57. 10.100 / 57. 10.100
 libavfilter 6.107.100 / 6.107.100
 libavresample 3. 7. 0 / 3. 7. 0
 libswscale 4. 8.100 / 4. 8.100
 libswresample 2. 9.100 / 2. 9.100
 libpostproc 54. 7.100 / 54. 7.100
Input #0, image2, from '*.jpg':
 Duration: 00:01:06.32, start: 0.000000, bitrate: N/A
 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
File 'timelapse.mp4' already exists. Overwrite ? [y/N] y
Stream mapping:
 Stream #0:0 -> #0:0 (mjpeg (native) -> h264 (libx264))
Press [q] to stop, [?] for help
[libx264 @ 0x55a43cfb1d00] using SAR=1/1
[libx264 @ 0x55a43cfb1d00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 0x55a43cfb1d00] profile High, level 4.0
[libx264 @ 0x55a43cfb1d00] 264 - core 152 r2854 e9a5903 - H.264/MPEG-4 AVC codec - Copyleft 2003-2017 - 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=20 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 'timelapse.mp4':
 Metadata:
 encoder : Lavf57.83.100
 Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuvj420p(pc), 1920x1080 [SAR 1:1 DAR 16:9], q=-1--1, 20 fps, 10240 tbn, 20 tbc
 Metadata:
 encoder : Lavc57.107.100 libx264
 Side data:
 cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
frame= 72 fps= 11 q=-1.0 Lsize= 10663kB time=00:00:03.45 bitrate=25318.0kbits/s speed=0.507x 
video:10661kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.015737%
[libx264 @ 0x55a43cfb1d00] frame I:5 Avg QP:23.69 size:223467
[libx264 @ 0x55a43cfb1d00] frame P:33 Avg QP:26.52 size:139314
[libx264 @ 0x55a43cfb1d00] frame B:34 Avg QP:28.49 size:152989
[libx264 @ 0x55a43cfb1d00] consecutive B-frames: 33.3% 8.3% 8.3% 50.0%
[libx264 @ 0x55a43cfb1d00] mb I I16..4: 2.2% 96.6% 1.2%
[libx264 @ 0x55a43cfb1d00] mb P I16..4: 2.1% 78.8% 1.5% P16..4: 9.4% 4.7% 2.6% 0.0% 0.0% skip: 0.8%
[libx264 @ 0x55a43cfb1d00] mb B I16..4: 1.1% 20.4% 2.3% B16..8: 27.6% 13.7% 5.3% direct:22.7% skip: 6.9% L0:33.5% L1:32.2% BI:34.3%
[libx264 @ 0x55a43cfb1d00] 8x8 transform intra:93.8% inter:86.5%
[libx264 @ 0x55a43cfb1d00] coded y,uvDC,uvAC intra: 91.5% 66.0% 17.4% inter: 77.7% 58.7% 2.2%
[libx264 @ 0x55a43cfb1d00] i16 v,h,dc,p: 13% 56% 3% 28%
[libx264 @ 0x55a43cfb1d00] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 15% 20% 39% 4% 3% 3% 4% 4% 8%
[libx264 @ 0x55a43cfb1d00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 19% 28% 12% 5% 7% 7% 6% 7% 8%
[libx264 @ 0x55a43cfb1d00] i8c dc,h,v,p: 49% 29% 19% 3%
[libx264 @ 0x55a43cfb1d00] Weighted P-Frames: Y:30.3% UV:24.2%
[libx264 @ 0x55a43cfb1d00] ref P L0: 48.2% 17.7% 17.7% 13.3% 3.2%
[libx264 @ 0x55a43cfb1d00] ref B L0: 83.2% 14.2% 2.5%
[libx264 @ 0x55a43cfb1d00] ref B L1: 93.8% 6.2%
[libx264 @ 0x55a43cfb1d00] kb/s:24258.47



-
FFMPEG incorrect duration from raw video stream
28 juillet 2020, par LMBI have the raw video data from a video stream (no audio) and the duration when I play the raw video in VLC is 67 seconds. When I convert the file to MP4 using FFMPEG the duration is 82.68 seconds.


Video is available here : https://www.filedropper.com/showdownload.php/67seconds
I am using FFMPEG/FFPROBE version git-2020-07-21-b5f1e05 on Windows.


Details of the raw video here :


ffprobe -i 67seconds.raw
ffprobe version git-2020-07-21-b5f1e05 Copyright (c) 2007-2020 the FFmpeg developers
 built with gcc 9.3.1 (GCC) 20200621
 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-libsrt --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-libvmaf --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libgsm --disable-w32threads --enable-libmfx --enable-ffnvcodec --enable-cuda-llvm --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf
 libavutil 56. 55.100 / 56. 55.100
 libavcodec 58. 97.100 / 58. 97.100
 libavformat 58. 49.100 / 58. 49.100
 libavdevice 58. 11.101 / 58. 11.101
 libavfilter 7. 87.100 / 7. 87.100
 libswscale 5. 8.100 / 5. 8.100
 libswresample 3. 8.100 / 3. 8.100
 libpostproc 55. 8.100 / 55. 8.100
Input #0, h264, from '67seconds.raw':
 Duration: N/A, bitrate: N/A
 Stream #0:0: Video: h264 (High), yuv420p(progressive), 640x360 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 1200k tbn, 50 tbc



The mp4 duration matches my ffprobe calculation against the raw file itself (2067/25 = 82.68 seconds) :


ffprobe -show_entries stream=r_frame_rate,nb_read_frames -select_streams v -count_frames -of compact=p=0:nk=1 -v 0 67seconds.raw
25/1|2067



What would explain this difference in durations between the raw playback and the FFMPEG interpretation and how do I encode to the same duration for this and other stream data ?


-
Which directory should i put FFmpeg ? [duplicate]
25 juillet 2020, par Panda Gaming23I am making a discord bot and I get the following error


node:4) UnhandledPromiseRejectionWarning: Error: FFmpeg/avconv not found!

2020-07-25T01:00:13.991518+00:00 app[worker.1]: at Function.getInfo (/app/node_modules/prism-media/src/core/FFmpeg.js:130:11)

2020-07-25T01:00:13.991519+00:00 app[worker.1]: at Function.create (/app/node_modules/prism-media/src/core/FFmpeg.js:143:38)

2020-07-25T01:00:13.991519+00:00 app[worker.1]: at new FFmpeg (/app/node_modules/prism-media/src/core/FFmpeg.js:44:27)

2020-07-25T01:00:13.991520+00:00 app[worker.1]: at AudioPlayer.playUnknown (/app/node_modules/discord.js/src/client/voice/player/BasePlayer.js:47:20)

2020-07-25T01:00:13.991520+00:00 app[worker.1]: at VoiceConnection.play (/app/node_modules/discord.js/src/client/voice/util/PlayInterface.js:71:28)

2020-07-25T01:00:13.991522+00:00 app[worker.1]: at play (/app/commands/play.js:14:34)

2020-07-25T01:00:13.991522+00:00 app[worker.1]: at /app/commands/play.js:42:5

2020-07-25T01:00:13.991522+00:00 app[worker.1]: at processTicksAndRejections (internal/process/task_queues.js:97:5)

2020-07-25T01:00:13.991629+00:00 app[worker.1]: (node:4) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 6)




Here is the code


const ytdl = require("ytdl-core");
const Discord = require("discord.js");

var servers = {};

module.exports = {
 name: "play",
 description: "this is a music play command!",
 execute(message, args) {
 
 function play(connection, message) {
 var server = servers[message.guild.id];
 
 server.dispatcher = connection.play(ytdl(server.queue[0], {filter: "audioonly"}));
 
 server.queue.shift();
 
 server.dispatcher.on("end", function () {
 if(server.queue[0]){
 play(connection, message);
 }
 else {connection.disconnect();}
 })
 }
 if (!args[0]) {
 message.channel.send("you need to provide a link!");
 return;
 }

 if (!message.member.voice.channel) {
 message.channel.send("you must be in ||a|| voice channel to play the bot!");
 return;
 }

 if (!servers[message.guild.id]) servers[message.guild.id] = { queue: [] };
 
 var server = servers[message.guild.id];
 
 server.queue.push(args[0]);
 
 if (!message.member.voice.connection) message.member.voice.channel.join().then(function(connection) {
 play(connection, message);
 })
 },
};



I would like to know which directory I should put FFmpeg.


I would also like to know if the FFmpeg executable has to be in a folder or compressed or if i can just place the executable in a certain directory


I am hosting my bot using Heroku on a Mac using Discord.js V12


Please help.


Thanks !