Recherche avancée

Médias (91)

Autres articles (101)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

  • Use, discuss, criticize

    13 avril 2011, par

    Talk to people directly involved in MediaSPIP’s development, or to people around you who could use MediaSPIP to share, enhance or develop their creative projects.
    The bigger the community, the more MediaSPIP’s potential will be explored and the faster the software will evolve.
    A discussion list is available for all exchanges between users.

  • Les tâches Cron régulières de la ferme

    1er décembre 2010, par

    La gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
    Le super Cron (gestion_mutu_super_cron)
    Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...)

Sur d’autres sites (9595)

  • How to wait until ffmpeg is finished with the conversion

    15 mai 2022, par ThePinkLyna

    Im going nuts with this. The situation is this. I have a picture, I convert that picture into something else using fluentffmpeg and then I want to edit that image then send it. The problem here is that I the conversion stops the script from continuing after is done. And also, the edit part needs to wait until the conversion is done and I don't know how to do that, because it seems that with fluentffmpeg the order of the code doesn't matter.
Here is the script

    


                        
                case 'sticker':
                    
                    
                        const encmedia = isQuotedImage ? JSON.parse(JSON.stringify(mek).replace('quotedM','m')).message.extendedTextMessage.contextInfo : mek
                        const media = await Bether.downloadAndSaveMediaMessage(encmedia)
                        
                        await ffmpeg(`./${media}`)
                            .input(media)
                            
                            .addOutputOptions([`-vcodec`,`libwebp`,`-vf`,`scale='min(320,iw)':min'(320,ih)':force_original_aspect_ratio=decrease,fps=15, pad=320:320:-1:-1:color=white@0.0, split [a][b]; [a] palettegen=reserve_transparent=on:transparency_color=ffffff [p]; [b][p] paletteuse`])
                            .toFormat('webp')
                            .save('./a.webp')
                            .on('start', function (cmd) {
                                console.log(`Started : ${cmd}`)
                            })
                            .on('error', function (err) {
                                console.log(`Error : ${err}`)
                                
                                reply(mess.error.stick)
                            }) 
                            
                            
                    
exec(`webpmux -set exif ./BetherMultiMedia/Marca.exif ./a.webp -o ./a.webp`)
ran = fs.readFileSync(`./a.webp`)
Bether.sendMessage(from, ran, sticker, {quoted: freply})
break


    


    On console I get the latter part first then the conversion, it doesn't make any sense. Help

    


  • FFMPEG convert rtp stream to rtmp - bind failed address already in use

    27 août 2020, par Leo

    I setup a server with Janus gateway and using videoroom plugin I'm trying to forward locally the rtp stream using port 5002 for audio and 5004 for video.
This is the videoroom plugin configuration

    



        room-1234: {
        description = "Demo Room"
        secret = "adminpwd"
        publishers = 6
        bitrate = 128000
        fir_freq = 1
        #fir_freq = 10
        audiocodec = "opus"
        videocodec = "vp8"
        #videocodec = "h264"
        record = false
        #rec_dir = "/path/to/recordings-folder"
}


    



    After the RTP forward I would like to convert the video to rtmp to get the video remotely using OBS Studio and I set up an nginx server with rtmp plugin. Using ffmpeg I'm trying to make this conversion and I created the sdp file with this content :

    



    v=0
o=- 0 0 IN IP4 127.0.0.1
s=RTP Video
c=IN IP4 127.0.0.1
t=0 0
a=tool:libavformat 58.29.100
m=audio 5002 RTP/AVP 111
a=rtpmap:111 OPUS/48000/2
m=video 5004 RTP/AVP 100
a=rtpmap:100 VP8/90000
a=fmtp:100


    



    And then I launched the command

    



    ffmpeg -protocol_whitelist rtp,udp,file -loglevel trace -analyzeduration 300M -probesize 300M -i config.sdp -c:v copy -c:a aac -ar 16k -ac 1 -preset ultrafast -tune zerolatency rtmp://127.0.0.1/live/1234


    



    But I got back the error bind failed address already in use. Below the complete output

    



    built with gcc 8 (Debian 8.3.0-6)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzvbi --enable-libzimg
  libavutil      56. 31.100 / 56. 31.100
  libavcodec     58. 54.100 / 58. 54.100
  libavformat    58. 29.100 / 58. 29.100
  libavdevice    58.  8.100 / 58.  8.100
  libavfilter     7. 57.100 /  7. 57.100
  libswscale      5.  5.100 /  5.  5.100
  libswresample   3.  5.100 /  3.  5.100
  libpostproc    55.  5.100 / 55.  5.100
Splitting the commandline.
Reading option '-protocol_whitelist' ... matched as AVOption 'protocol_whitelist' with argument 'rtp,udp,file'.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'trace'.
Reading option '-analyzeduration' ... matched as AVOption 'analyzeduration' with argument '300M'.
Reading option '-probesize' ... matched as AVOption 'probesize' with argument '300M'.
Reading option '-i' ... matched as input url with argument 'config.sdp'.
Reading option '-c:v' ... matched as option 'c' (codec name) with argument 'copy'.
Reading option '-c:a' ... matched as option 'c' (codec name) with argument 'aac'.
Reading option '-ar' ... matched as option 'ar' (set audio sampling rate (in Hz)) with argument '16k'.
Reading option '-ac' ... matched as option 'ac' (set number of audio channels) with argument '1'.
Reading option '-preset' ... matched as AVOption 'preset' with argument 'ultrafast'.
Reading option '-tune' ... matched as AVOption 'tune' with argument 'zerolatency'.
Reading option 'rtmp://127.0.0.1/live/1234' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option loglevel (set logging level) with argument trace.
Successfully parsed a group of options.
Parsing a group of options: input url config.sdp.
Successfully parsed a group of options.
Opening an input file: config.sdp.
[NULL @ 0x5594280] Opening 'config.sdp' for reading
Probing sdp score:50 size:205
[sdp @ 0x5594280] Format sdp probed with size=2048 and score=50
[sdp @ 0x5594280] sdp: v='0'
[sdp @ 0x5594280] sdp: o='- 0 0 IN IP4 127.0.0.1'
[sdp @ 0x5594280] sdp: s='RTP Video'
[sdp @ 0x5594280] sdp: c='IN IP4 127.0.0.1'
[sdp @ 0x5594280] sdp: t='0 0'
[sdp @ 0x5594280] sdp: a='tool:libavformat 58.29.100'
[sdp @ 0x5594280] sdp: m='audio 5002 RTP/AVP 111'
[sdp @ 0x5594280] sdp: a='rtpmap:111 OPUS/48000/2'
[sdp @ 0x5594280] audio codec set to: opus
[sdp @ 0x5594280] audio samplerate set to: 48000
[sdp @ 0x5594280] audio channels set to: 2
[sdp @ 0x5594280] sdp: m='video 5004 RTP/AVP 100'
[sdp @ 0x5594280] sdp: a='rtpmap:100 VP8/90000'
[sdp @ 0x5594280] video codec set to: vp8
[sdp @ 0x5594280] sdp: a='fmtp:100'
[udp @ 0x5597980] bind failed: Address already in use
[AVIOContext @ 0x559d580] Statistics: 205 bytes read, 0 seeks
config.sdp: Invalid data found when processing input


    



    I did a lot of searches and tries but I'm really not able to figure out what's wrong. Could you please help me to understand the error ?

    



    Thank you !

    


  • How to input an audio file, generate video, split, crop and overlay to output a kaleidoscope effect

    29 septembre 2017, par wrrkkksstffrrg

    I need to create an FFMPEG script which reads in an audio file ("testloop.wav" in this example) generates a video from the waveform using the "showcqt" filter , and then crops and overlays the output from that to generate a kaleidoscope effect. This is the code I have so far - the generation of the intial video and the output section work correctly, but there is a fault in the split, crop and overlay section which I cannot trace.

       ffmpeg -i "testloop.wav" -i "testloop.wav" \
    -filter_complex  "[0:a]showcqt,format=yuv420p[v]" -map "[v]" \
           "split [tmp1][tmp2]; \
           [tmp1] crop=iw:(ih/3)*2:0:0, pad=0:ih+ih/2 [top]; \
           [tmp2] crop=iw:ih/3:0:(ih/3)*2, hflip [bottom]; \
           [top][bottom] overlay=0:(H/3)*2"\
    -map 1:a:0 -codec:v libx264 -crf 21 -bf 2 -flags +cgop -pix_fmt yuv420p -codec:a aac -strict -2 -b:a 384k -r:a 48000 -movflags faststart "${i%.wav}.mp4