
Recherche avancée
Médias (1)
-
Bug de détection d’ogg
22 mars 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Video
Autres articles (43)
-
MediaSPIP v0.2
21 juin 2013, parMediaSPIP 0.2 est la première version de MediaSPIP stable.
Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...) -
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 ;
-
Mise à disposition des fichiers
14 avril 2011, parPar défaut, lors de son initialisation, MediaSPIP ne permet pas aux visiteurs de télécharger les fichiers qu’ils soient originaux ou le résultat de leur transformation ou encodage. Il permet uniquement de les visualiser.
Cependant, il est possible et facile d’autoriser les visiteurs à avoir accès à ces documents et ce sous différentes formes.
Tout cela se passe dans la page de configuration du squelette. Il vous faut aller dans l’espace d’administration du canal, et choisir dans la navigation (...)
Sur d’autres sites (6302)
-
How can I add a random watermark to a video during processing in Node.js and Express.js using FFmpeg ?
3 avril 2023, par Ariful islamI want to add a watermark to a video that changes randomly during processing. I am using Node.js and Express.js with FFmpeg. Currently, I am able to add a static watermark to the video using the drawtext filter. However, I want to change the watermark text randomly every few seconds.


How can I achieve this using FFmpeg in my Node.js and Express.js app ? Here's my current code :


const email = 'name@gmail.com';
app.post('/addwatermark', upload.single('video'), (req, res) => {
const fileName = path.basename(req.file.path) + '.mp4';
const outputPath = `public/reduceSize/${fileName}`;
const outputPathWithWatermark = `public/reduceSize/${fileName}-wm.mp4`;
let watermarkPosition = { x: 10, y: 650 };

// Create the directory if it doesn't exist
const outputDir = path.dirname(outputPathWithWatermark);
if (!fs.existsSync(outputDir)) {
 fs.mkdirSync(outputDir, { recursive: true });
}

// Send a comment to keep the connection alive
res.write(': ping\n\n');

// Function to randomly generate watermark position
const changeWatermarkPosition = () => {
 watermarkPosition = { x: Math.floor(Math.random() * 100), y: Math.floor(Math.random() * 100) };
};

// Change watermark position every 5 seconds 
setInterval(changeWatermarkPosition, 5000);
const watermarkStyle = `-vf drawtext=text='${email}':x=(w-text_w-10):y=(h-text_h-10):fontcolor=white:fontsize=24:shadowcolor=black:shadowx=1:shadowy=1:box=1:y=${watermarkPosition.y}:fontcolor=red:fontsize=24:shadowcolor=black:shadowx=1:shadowy=1:box=1:boxcolor=black@0.5`

ffmpeg(req.file.path)
 .addOption(watermarkStyle)
 .output(outputPathWithWatermark)
 .videoCodec('libx264')
 .audioCodec('aac')
 .size('50%')
 .on('error', (err) => {
 console.error(`FFmpeg error: ${err.message}`);
 res.status(500).json({ message: err.message });
 })
 .on('progress', (progress) => {
 // Set the watermark position every 5 seconds randomly
 changeWatermarkPosition();

 const mb = progress.targetSize / 1024;
 const data = {
 message: `Processing: ${mb.toFixed(2)} MB converted`,
 watermark: `Adding watermark to video: ${progress.framesProcessed} frames processed`
 };
 console.log(data.message);
 res.write(`data: ${JSON.stringify(data)}\n\n`);

 })
 .on('end', () => {
 console.log(`Video successfully converted to ${outputPathWithWatermark}`);
 // Remove the temporary file
 })
 .run();
 });



I want to secure my video from unauthorized person by using email in a video and the email will be move around the video randomly every 5 seconds.


I have read this (Add dynamic watermark that randomly changes position over video React/Node) document but didn't get any solution.


-
ffmpeg installation undefined reference to
8 février 2017, par user1683302I used this official link to download ffmpeg and compile it. I know it creates a static library and I have to reference the library folder. When i try to compile this tutorial . i get this errors
tutorial01.c: In function ‘main’:
tutorial01.c:96:5: warning: ‘codec’ is deprecated [-Wdeprecated- declarations]
if(pFormatCtx->streams[i]->codec->codec_type==AVMEDIA_TYPE_VIDEO) {
^
In file included from tutorial01.c:27:0:
/home/osboxes/ffmpeg_build/include/libavformat/avformat.h:893:21: note: declared here
AVCodecContext *codec;
^
tutorial01.c:104:3: warning: ‘codec’ is deprecated [-Wdeprecated-declarations]
pCodecCtxOrig=pFormatCtx->streams[videoStream]->codec;
^
In file included from tutorial01.c:27:0:
/home/osboxes/ffmpeg_build/include/libavformat/avformat.h:893:21: note: declared here
AVCodecContext *codec;
^
tutorial01.c:113:3: warning: ‘avcodec_copy_context’ is deprecated [-Wdeprecated-declarations]
if(avcodec_copy_context(pCodecCtx, pCodecCtxOrig) != 0) {
^
In file included from tutorial01.c:26:0:
/home/osboxes/ffmpeg_build/include/libavcodec/avcodec.h:4240:5: note: declared here
int avcodec_copy_context(AVCodecContext *dest, const AVCodecContext *src);
^
tutorial01.c:131:3: warning: ‘avpicture_get_size’ is deprecated [-Wdeprecated-declarations]
numBytes=avpicture_get_size(AV_PIX_FMT_RGB24, pCodecCtx->width,
^
In file included from tutorial01.c:26:0:
/home/osboxes/ffmpeg_build/include/libavcodec/avcodec.h:5467:5: note: declared here
int avpicture_get_size(enum AVPixelFormat pix_fmt, int width, int height);
^
tutorial01.c:138:3: warning: ‘avpicture_fill’ is deprecated [-Wdeprecated-declarations]
avpicture_fill((AVPicture *)pFrameRGB, buffer, AV_PIX_FMT_RGB24,
^
In file included from tutorial01.c:26:0:
/home/osboxes/ffmpeg_build/include/libavcodec/avcodec.h:5452:5: note: declared here
int avpicture_fill(AVPicture *picture, const uint8_t *ptr,
^
tutorial01.c:160:7: warning: ‘avcodec_decode_video2’ is deprecated [-Wdeprecated-declarations]
avcodec_decode_video2(pCodecCtx, pFrame, &frameFinished, &packet);
^
In file included from tutorial01.c:26:0:
/home/osboxes/ffmpeg_build/include/libavcodec/avcodec.h:4811:5: note: declared here
int avcodec_decode_video2(AVCodecContext *avctx, AVFrame *picture,
^
tutorial01.c:177:5: warning: ‘av_free_packet’ is deprecated [-Wdeprecated-declarations]
av_free_packet(&packet);
^
In file included from tutorial01.c:26:0:
/home/osboxes/ffmpeg_build/include/libavcodec/avcodec.h:4472:6: note: declared here
void av_free_packet(AVPacket *pkt);
^
/tmp/ccHYDd9j.o: In function `main':
tutorial01.c:(.text+0x178): undefined reference to `av_register_all'
tutorial01.c:(.text+0x19f): undefined reference to `avformat_open_input'
tutorial01.c:(.text+0x1c1): undefined reference to `avformat_find_stream_info'
tutorial01.c:(.text+0x1f6): undefined reference to `av_dump_format'
tutorial01.c:(.text+0x2ab): undefined reference to `avcodec_find_decoder'
tutorial01.c:(.text+0x2ea): undefined reference to `avcodec_alloc_context3'
tutorial01.c:(.text+0x304): undefined reference to `avcodec_copy_context'
tutorial01.c:(.text+0x348): undefined reference to `avcodec_open2'
tutorial01.c:(.text+0x35b): undefined reference to `av_frame_alloc'
tutorial01.c:(.text+0x367): undefined reference to `av_frame_alloc'
tutorial01.c:(.text+0x3a4): undefined reference to `avpicture_get_size'
tutorial01.c:(.text+0x3ba): undefined reference to `av_malloc'
tutorial01.c:(.text+0x3ef): undefined reference to `avpicture_fill'
tutorial01.c:(.text+0x439): undefined reference to `sws_getContext'
tutorial01.c:(.text+0x47d): undefined reference to `avcodec_decode_video2'
tutorial01.c:(.text+0x4de): undefined reference to `sws_scale'
tutorial01.c:(.text+0x527): undefined reference to `av_free_packet'
tutorial01.c:(.text+0x53d): undefined reference to `av_read_frame'
tutorial01.c:(.text+0x551): undefined reference to `av_free'
tutorial01.c:(.text+0x560): undefined reference to `av_frame_free'
tutorial01.c:(.text+0x56f): undefined reference to `av_frame_free'
tutorial01.c:(.text+0x57b): undefined reference to `avcodec_close'
tutorial01.c:(.text+0x58a): undefined reference to `avcodec_close'
tutorial01.c:(.text+0x599): undefined reference to `avformat_close_input'
collect2: error: ld returned 1 exit statusi used this
sudo gcc -I /home/osboxes/ffmpeg_build/include -L /home/osboxes/ffmpeg_build/lib -lavcode -lavformat -lavutil -lswscale -lz -lm tutorial01.c
my ffmpeg is
ffmpeg version N-82113-g490c6bd Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.2) 20160609
configuration: --prefix=/home/osboxes/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/osboxes/ffmpeg_build/include --extra-ldflags=- L/home/osboxes/ffmpeg_build/lib --bindir=/home/osboxes/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libopus --enable-libx264 --enable-nonfree
libavutil 55. 33.100 / 55. 33.100
libavcodec 57. 63.103 / 57. 63.103
libavformat 57. 55.100 / 57. 55.100
libavdevice 57. 0.103 / 57. 0.103
libavfilter 6. 64.100 / 6. 64.100
libswscale 4. 1.100 / 4. 1.100
libswresample 2. 2.100 / 2. 2.100
libpostproc 54. 0.100 / 54. 0.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...the tutorial code was update to work on new ffmpeg versions.I’m using VM Ubuntu 16.0.4 64 bit fresh install on windows 10 host.
so why I’m having all of these errors ?
Update :
I moved to Ubuntu 12.04 VM and ffmpeg 0.11, I instilled it with opencv 2.4.2 here is the link . This should work yet i don’t why I’m having hard time compiling such small program.ffmpeg version 0.11.1 Copyright (c) 2000-2012 the FFmpeg developers
built on Oct 25 2016 13:39:37 with gcc 4.6.3
configuration: --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-nonfree --enable-postproc --enable-version3 --enable-x11grab --enable-shared --enable-pic
libavutil 51. 54.100 / 51. 54.100
libavcodec 54. 23.100 / 54. 23.100
libavformat 54. 6.100 / 54. 6.100
libavdevice 54. 0.100 / 54. 0.100
libavfilter 2. 77.100 / 2. 77.100
libswscale 2. 1.100 / 2. 1.100
libswresample 0. 15.100 / 0. 15.100
libpostproc 52. 0.100 / 52. 0.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...yet i still have the problem but it is less sever
gcc -o tutorial01 tutorial01.c -Wl,--start-group -lavcodec -lavformat -lswscale -lavutil -lz -lm -Wl,--end-group
/tmp/ccnFfu84.o: In function `main':
tutorial01.c:(.text+0x500): undefined reference to `avcodec_free_frame'
tutorial01.c:(.text+0x511): undefined reference to `avcodec_free_frame'
collect2: ld returned 1 exit statusi tried this
ldconfig -p | grep av
libxklavier.so.16 (libc6,x86-64) => /usr/lib/libxklavier.so.16
libwavpack.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux gnu/libwavpack.so.1
libjavascriptcoregtk-3.0.so.0 (libc6,x86-64) => /usr/lib/libjavascriptcoregtk-3.0.so.0
libdvdnavmini.so.4 (libc6,x86-64) => /usr/lib/libdvdnavmini.so.4
libdvdnav.so.4 (libc6,x86-64) => /usr/lib/libdvdnav.so.4
libavutil.so.51 (libc6,x86-64) => /usr/local/lib/libavutil.so.51
libavutil.so.51 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libavutil.so.51
libavutil.so (libc6,x86-64) => /usr/local/lib/libavutil.so
libavformat.so.54 (libc6,x86-64) => /usr/local/lib/libavformat.so.54
libavformat.so.53 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libavformat.so.53
libavformat.so (libc6,x86-64) => /usr/local/lib/libavformat.so
libavfilter.so.2 (libc6,x86-64) => /usr/local/lib/libavfilter.so.2
libavfilter.so (libc6,x86-64) => /usr/local/lib/libavfilter.so
libavdevice.so.54 (libc6,x86-64) => /usr/local/lib/libavdevice.so.54
libavdevice.so (libc6,x86-64) => /usr/local/lib/libavdevice.so
libavc1394.so.0 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libavc1394.so.0
libavcodec.so.54 (libc6,x86-64) => /usr/local/lib/libavcodec.so.54
libavcodec.so.53 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libavcodec.so.53
libavcodec.so (libc6,x86-64) => /usr/local/lib/libavcodec.so
libavahi-ui-gtk3.so.0 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libavahi-ui-gtk3.so.0
libavahi-gobject.so.0 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libavahi-gobject.so.0
libavahi-glib.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libavahi-glib.so.1
libavahi-core.so.7 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libavahi-core.so.7
libavahi-common.so.3 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libavahi-common.so.3
libavahi-common.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libavahi-common.so
libavahi-client.so.3 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libavahi-client.so.3
libavahi-client.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libavahi-client.soUpdate2
I changged
avcodec_free_frame
toav_free
and the file compliedDranger code is old
Update 3
i downloaded ffmpeg 1.0.10 which has the same library version that is the tutorial tested on. Everything complied without any problem now. -
Convert MP4 Version - FFmpeg
17 mai 2017, par LuzwitzI have two mp4 File :
- out.mp4 : ISO Media, MP4 Base Media v1 [IS0 14496-12:2003]
- video/rio2016/finale/brasse/200.mp4 : ISO Media, MP4 v2 [ISO 14496-14]
How can I convert 1 to 2 (mp41 to mp42) ?
Thanks !