Recherche avancée

Médias (1)

Mot : - Tags -/ogg

Autres articles (43)

  • MediaSPIP v0.2

    21 juin 2013, par

    MediaSPIP 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, par

    Par 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, par

    Par 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 islam

    I 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 user1683302

    I 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 status

    i 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 status

    i 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.so

    Update2

    I changged avcodec_free_frame to av_free and the file complied

    Dranger 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 Luzwitz

    I have two mp4 File :

    1. out.mp4 : ISO Media, MP4 Base Media v1 [IS0 14496-12:2003]
    2. video/rio2016/finale/brasse/200.mp4 : ISO Media, MP4 v2 [ISO 14496-14]

    How can I convert 1 to 2 (mp41 to mp42) ?

    Thanks !