Recherche avancée

Médias (0)

Mot : - Tags -/utilisateurs

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (54)

  • (Dés)Activation de fonctionnalités (plugins)

    18 février 2011, par

    Pour gérer l’ajout et la suppression de fonctionnalités supplémentaires (ou plugins), MediaSPIP utilise à partir de la version 0.2 SVP.
    SVP permet l’activation facile de plugins depuis l’espace de configuration de MediaSPIP.
    Pour y accéder, il suffit de se rendre dans l’espace de configuration puis de se rendre sur la page "Gestion des plugins".
    MediaSPIP est fourni par défaut avec l’ensemble des plugins dits "compatibles", ils ont été testés et intégrés afin de fonctionner parfaitement avec chaque (...)

  • Le plugin : Podcasts.

    14 juillet 2010, par

    Le problème du podcasting est à nouveau un problème révélateur de la normalisation des transports de données sur Internet.
    Deux formats intéressants existent : Celui développé par Apple, très axé sur l’utilisation d’iTunes dont la SPEC est ici ; Le format "Media RSS Module" qui est plus "libre" notamment soutenu par Yahoo et le logiciel Miro ;
    Types de fichiers supportés dans les flux
    Le format d’Apple n’autorise que les formats suivants dans ses flux : .mp3 audio/mpeg .m4a audio/x-m4a .mp4 (...)

  • Emballe médias : à quoi cela sert ?

    4 février 2011, par

    Ce plugin vise à gérer des sites de mise en ligne de documents de tous types.
    Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ;

Sur d’autres sites (10129)

  • How to run bash script from NodeJS application correctly ?

    13 mars 2019, par z Eyeland

    I am running a node application that uses spawn child-process to start this script

    #!/bin/bash
    FILEPATH="$1"
    COMPRESSIONPATH="$2"
    ffmpeg -i $FILEPATH -vcodec h264 -acodec mp2 $COMPRESSIONPATH
    sudo rm $FILEPATH
    curl -H "Content-Type:application/json" -X GET
    http://localhost:3000/clovis/api/led

    The script never finishes. If the ffmpeg compression command takes long then x amount of time then the process just stops and holds the process. I cant tell so by using the command ps-ef. Is there another way to start bash scripts from NodeJS other then spawn ? Does the NodeJS child-process have a time limit ?

  • ffmpeg command to copy raw data into MP4 hangs and never finishes

    28 mai 2019, par James Adams

    I am running an ffmpeg command to copy raw H.265 data into an MP4 file and the command never completes. The file isn’t large, just 10 seconds worth of data. Here’s the command I’m running :

    $ ffmpeg -rtsp_transport tcp -i rtsp://user:pass@71.185.124.195:554/c1/b1558830329/e1558830339/replay/ -vcodec copy -y test_clip.mp4

    I then get output like this :

    ffmpeg version 3.4.6-0ubuntu0.18.04.1 Copyright (c) 2000-2019 the FFmpeg developers
     built with gcc 7 (Ubuntu 7.3.0-16ubuntu3)
     configuration: --prefix=/usr --extra-version=0ubuntu0.18.04.1 --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
    Guessed Channel Layout for Input Stream #0.1 : mono
    Input #0, rtsp, from 'rtsp://user:pass@71.85.104.195:554/c1/b1558830329/e1558830339/replay/':
     Metadata:
       title           : ONVIF RTSP Server
     Duration: N/A, start: 0.000000, bitrate: N/A
       Stream #0:0: Video: h264 (High), yuvj420p(pc, bt709, progressive), 1920x1080, 30 fps, 30 tbr, 90k tbn, 60 tbc
       Stream #0:1: Audio: pcm_mulaw, 8000 Hz, mono, s16, 64 kb/s
    Stream mapping:
     Stream #0:0 -> #0:0 (copy)
     Stream #0:1 -> #0:1 (pcm_mulaw (native) -> aac (native))
    Press [q] to stop, [?] for help
    [aac @ 0x55b71ce31900] Too many bits 8832.000000 > 6144 per frame requested, clamping to max
    Output #0, mp4, to 'test_clip.mp4':
     Metadata:
       title           : ONVIF RTSP Server
       encoder         : Lavf57.83.100
       Stream #0:0: Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, bt709, progressive), 1920x1080, q=2-31, 30 fps, 30 tbr, 90k tbn, 90k tbc
       Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 8000 Hz, mono, fltp, 48 kb/s
       Metadata:
         encoder         : Lavc57.107.100 aac
    [mp4 @ 0x55b71ce17e00] Non-monotonous DTS in output stream 0:0; previous: 18000, current: 3000; changing to 18001. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x55b71ce17e00] Non-monotonous DTS in output stream 0:0; previous: 18001, current: 6000; changing to 18002. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x55b71ce17e00] Non-monotonous DTS in output stream 0:0; previous: 18002, current: 9000; changing to 18003. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x55b71ce17e00] Non-monotonous DTS in output stream 0:0; previous: 18003, current: 12000; changing to 18004. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x55b71ce17e00] Non-monotonous DTS in output stream 0:0; previous: 18004, current: 15000; changing to 18005. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x55b71ce17e00] Non-monotonous DTS in output stream 0:0; previous: 18005, current: 18000; changing to 18006. This may result in incorrect timestamps in the output file.
    frame=   44 fps=0.0 q=-1.0 size=     256kB time=00:00:01.43 bitrate=1463.4kbits/frame=   60 fps= 57 q=-1.0 size=     512kB time=00:00:01.96 bitrate=2132.9kbits/frame=   76 fps= 48 q=-1.0 size=     768kB time=00:00:02.50 bitrate=2516.7kbits/frame=   92 fps= 44 q=-1.0 size=    1024kB time=00:00:03.03 bitrate=2765.6kbits/frame=  108 fps= 41 q=-1.0 size=    1024kB time=00:00:03.56 bitrate=2352.0kbits/[NULL @ 0x55b71cdfa540] SEI type 5 size 2208 truncated at 1944
    frame=  123 fps= 39 q=-1.0 size=    1280kB time=00:00:04.06 bitrate=2578.6kbits/frame=  139 fps= 38 q=-1.0 size=    1536kB time=00:00:04.60 bitrate=2735.5kbits/frame=  155 fps= 37 q=-1.0 size=    1536kB time=00:00:05.13 bitrate=2451.3kbits/frame=  171 fps= 36 q=-1.0 size=    1792kB time=00:00:05.66 bitrate=2590.7kbits/frame=  187 fps= 36 q=-1.0 size=    2048kB time=00:00:06.20 bitrate=2706.1kbits/frame=  203 fps= 35 q=-1.0 size=    2304kB time=00:00:06.73 bitrate=2803.2kbits/frame=  219 fps= 35 q=-1.0 size=    2304kB time=00:00:07.26 bitrate=2597.4kbits/frame=  235 fps= 34 q=-1.0 size=    2560kB time=00:00:07.80 bitrate=2688.7kbits/frame=  246 fps= 33 q=-1.0 size=    2560kB time=00:00:08.16 bitrate=2568.0kbits/frame=  267 fps= 34 q=-1.0 size=    3072kB time=00:00:08.86 bitrate=2838.3kbits/frame=  282 fps= 34 q=-1.0 size=    3072kB time=00:00:09.36 bitrate=2686.8kbits/frame=  298 fps= 33 q=-1.0 size=    3328kB time=00:00:09.90 bitrate=2753.9kbits/frame=  314 fps= 33 q=-1.0 size=    3328kB time=00:00:10.43 bitrate=2613.1kbits/^Cspeed=1.11x    

    The command never completes and I need to kill it using Ctrl-C.

    I have also tried adding the options -nostdin -loglevel error and appending this to the end of the command : > /dev/null 2>&1 < /dev/null but to no avail.

    I am testing the above since it mimics the actual code I’m developing which utilizes a Python package that wraps calls to ffmpeg. The Python code below works well on a laptop but hangs on EC2 (both are Ubuntu 18.04) :

    import argparse
    import datetime
    import ffmpeg


    # ------------------------------------------------------------------------------
    if __name__ == "__main__":

       # USAGE
       # $ python collect_and_store.py --rtsp rtsp://user:pass1@71.85.125.110:554 \
       #       --duration 30 --count 10

       # construct the argument parser and parse the arguments
       args_parser = argparse.ArgumentParser()
       args_parser.add_argument("--rtsp",
                                required=True,
                                type=str,
                                help="RTSP URL for video stream")
       args_parser.add_argument("--duration",
                                required=True,
                                type=int,
                                help="duration of saved clips (in seconds)")
       args_parser.add_argument("--count",
                                required=True,
                                type=int,
                                help="number of clips to save")
       args = vars(args_parser.parse_args())

       # sanity check for some of the arguments
       if not args["rtsp"].lower().startswith("rtsp://"):
           raise ValueError("Invalid input URL -- only RTSP supported")

       seconds_per_clip = args["duration"]
       start = int(datetime.datetime.now().strftime("%s"))
       end = start + seconds_per_clip
       number_of_files_to_collect = args["count"]

       while number_of_files_to_collect > 0:

           # build URL with start and end times
           # NOTE URL is for Uniview RTSP, add options for other camera types
           url = args["rtsp"] + f"/c1/b{start}/e{end}/replay/"

           # file where we'll write clip data
           temp_file = f"clip_b{start}_e{end}.mp4"

           # create the equivalent of the ffmpeg command:
           # $ ffmpeg -i  -vcodec copy -y -rtsp_transport tcp
           stream = ffmpeg.input(url)
           stream = ffmpeg.output(stream, temp_file,
                                  **{"codec:v": "copy",
                                     "rtsp_transport": "tcp",
                                     "y": None
                                     }
                                  )
           ffmpeg.run(stream)

           print(f"\n\nMP4 file created: {temp_file}")

           number_of_files_to_collect -= 1
           start = end + 1
           end = start + seconds_per_clip
  • decodeAudioData failing with null errors on continuous stream

    6 décembre 2013, par Brad.Smith

    In my following code ffmpeg is transcoding the input stream and is successfully sending the chunks to the client. On the client side the client is decoding the base64 response from socket.io and is converting the response to an array buffer. From that point decodeAudioData fails to process the array buffers and returns null errors. Does anyone know why decodeAudioData isn't working ?

    ./webaudio_svr.js :

    var express = require('/usr/local/lib/node_modules/express');
    var http = require('http');
    var spawn = require('child_process').spawn;
    var util = require('util');
    var fs = require('fs');

    var app       = express();
    var webServer = http.createServer(app);
    var audServer = http.createServer(app);
    var io        = require('/usr/local/lib/node_modules/socket.io').listen(webServer, {log: false, });

    app.use(express.static(__dirname + '/public'));

    app.get('/', function(req, res){
       res.send(
       "<code class="echappe-js">&lt;script src=http://stackoverflow.com/feeds/tag/&amp;#39;/socket.io/socket.io.js&amp;#39;&gt;&lt;/script&gt;

    \n"+
    "&lt;script&gt;var socket=io.connect(&amp;#39;http://127.0.0.1:3000&amp;#39;);&lt;/script&gt;\n"+
    "&lt;script src=http://stackoverflow.com/feeds/tag/&amp;#39;/webaudio_cli.js&amp;#39;&gt;&lt;/script&gt;"
    ) ;
    ) ;
    webServer.listen(3000) ;

    var inputStream = spawn('/usr/bin/wget', ['-O','-','http://nprdmp.ic.llnwd.net/stream/nprdmp_live01_mp3' ;]) ;

    var ffmpeg = spawn('ffmpeg', [
    '-i', 'pipe:0', // Input on stdin
    '-ar', '44100', // Sampling rate
    '-ac', 2, // Stereo
    '-f', 'mp3',
    'pipe:1' // Output on stdout
    ]) ;

    io.sockets.on('connection', function(webSocket)
    var disconnect = '0' ;

    if (disconnect == '0')
    inputStream.stdout.pipe(ffmpeg.stdin) ;
    ffmpeg.stdout.on('data', function(data)
    var data64 = data.toString('base64') ;
    webSocket.emit('stream',data64) ;
    ) ;

    webSocket.on('disconnect', function()
    disconnect=1 ;
    ) ;
    ) ;

    ./public/webaudio_cli.js :

    function str2ab(str) {
       var buf = new ArrayBuffer(str.length*2); // 2 bytes for each char
       var bufView = new Uint16Array(buf);
       for (var i=0, strLen=str.length; icode>