Recherche avancée

Médias (91)

Autres articles (62)

  • La file d’attente de SPIPmotion

    28 novembre 2010, par

    Une file d’attente stockée dans la base de donnée
    Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
    Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...)

  • La sauvegarde automatique de canaux SPIP

    1er avril 2010, par

    Dans le cadre de la mise en place d’une plateforme ouverte, il est important pour les hébergeurs de pouvoir disposer de sauvegardes assez régulières pour parer à tout problème éventuel.
    Pour réaliser cette tâche on se base sur deux plugins SPIP : Saveauto qui permet une sauvegarde régulière de la base de donnée sous la forme d’un dump mysql (utilisable dans phpmyadmin) mes_fichiers_2 qui permet de réaliser une archive au format zip des données importantes du site (les documents, les éléments (...)

  • D’autres logiciels intéressants

    12 avril 2011, par

    On ne revendique pas d’être les seuls à faire ce que l’on fait ... et on ne revendique surtout pas d’être les meilleurs non plus ... Ce que l’on fait, on essaie juste de le faire bien, et de mieux en mieux...
    La liste suivante correspond à des logiciels qui tendent peu ou prou à faire comme MediaSPIP ou que MediaSPIP tente peu ou prou à faire pareil, peu importe ...
    On ne les connais pas, on ne les a pas essayé, mais vous pouvez peut être y jeter un coup d’oeil.
    Videopress
    Site Internet : (...)

Sur d’autres sites (6361)

  • How to use ffmpeg in JavaScript to decode H.264 frames into RGB frames

    17 juin 2020, par noel

    I'm trying to compile ffmpeg into javascript so that I can decode H.264 video streams using node. The streams are H.264 frames packed into RTP NALUs so any solution has to be able to accept H.264 frames rather than a whole file name. These frames can't be in a container like MP4 or AVI because then the demuxer needs to needs the timestamp of every frame before demuxing can occur, but I'm dealing with a real time stream, no containers.

    



    Streaming H.264 over RTP

    



    Below is the basic code I'm using to listen on a udp socket. Inside the 'message' callback the data packet is an RTP datagram. The data portion of the data gram is an H.264 frame (P-frames and I-frames).

    



    var PORT = 33333;
var HOST = '127.0.0.1';

var dgram = require('dgram');
var server = dgram.createSocket('udp4');

server.on('listening', function () {
    var address = server.address();
    console.log('UDP Server listening on ' + address.address + ":" + address.port);
});

server.on('message', function (message, remote) {
    console.log(remote.address + ':' + remote.port +' - ' + message);
    frame = parse_rtp(message);

    rgb_frame = some_library.decode_h264(frame); // This is what I need.

});

server.bind(PORT, HOST);  


    



    I found the Broadway.js library, but I couldn't get it working and it doesn't handle P-frames which I need. I also found ffmpeg.js, but could get that to work and it needs a whole file not a stream. Likewise, fluent-ffmpeg doesn't appear to support file streams ; all of the examples show a filename being passed to the constructor. So I decided to write my own API.

    



    My current solution attempt

    



    I have been able to compile ffmpeg into one big js file, but I can't use it like that. I want to write an API around ffmpeg and then expose those functions to JS. So it seems to me like I need to do the following :

    



      

    1. Compile ffmpeg components (avcodec, avutil, etc.) into llvm bitcode.
    2. 


    3. Write a C wrapper that exposes the decoding functionality and uses EMSCRIPTEN_KEEPALIVE.
    4. 


    5. Use emcc to compile the wrapper and link it to the bitcode created in step 1.
    6. 


    



    I found WASM+ffmpeg, but it's in Chinese and some of the steps aren't clear. In particular there is this step :

    



    emcc web.c process.c ../lib/libavformat.bc ../lib/libavcodec.bc ../lib/libswscale.bc ../lib/libswresample.bc ../lib/libavutil.bc \


    



     :( Where I think I'm stuck

    



    I don't understand how all the ffmpeg components get compiled into separate *.bc files. I followed the emmake commands in that article and I end up with one big .bc file.

    



    2 questions

    



    1. Does anyone know the steps to compile ffmpeg using emscripten so that I can expose some API to javascript ?
    
 2. Is there a better way (with decent documentation/examples) to decode h264 video streams using node ?

    


  • How to set up a cron job for ffmpeg in centOS 6

    9 mars 2018, par user27240

    I can convert from mp4 file to jpg file manually one by one with the below command on centOS 6 environment.

    Now, could anyone help me out how to set up a cron for any mp4 file in the directory to be converted automatically
    to jpg file with the same file name as mp4 file such as 03052022_5a9d28723d2da.jpg for the below environment ?

    OS:centos-6 (x86_64)

    ffmpeg version 2.2.2

    Plesk 17.0.17

    [root@server-xxxxxxxx-x ~]# ffmpeg -i                                \
     /var/www/vhosts/xxxxx.com/httpdocs/save/03052022_5a9d28723d2da.mp4 \
     /var/www/vhosts/xxxxx.com/httpdocs/save/03052022_5a9d28723d2da.jpg

    With ’s/.conf$/.jpg/p’ :

    [root@server-xxxxxx-x ~]# for i in `find /var/www/vhosts/xxxxxx.com/httpdocs/save/ -type f -name "*.mp4"`; do ffmpeg -i $i `echo $i | sed -En 's/.conf$/.jpg/p'`; done

    ffmpeg version 2.2.2 Copyright (c) 2000-2014 the FFmpeg developers
    built on Feb 21 2018 03:03:24 with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-18)
    configuration :
    libavutil 52. 66.100 / 52. 66.100
    libavcodec 55. 52.102 / 55. 52.102
    libavformat 55. 33.100 / 55. 33.100
    libavdevice 55. 10.100 / 55. 10.100
    libavfilter 4. 2.100 / 4. 2.100
    libswscale 2. 5.102 / 2. 5.102
    libswresample 0. 18.100 / 0. 18.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from ’/var/www/vhosts/xxxxxx.com/httpdocs/save/03081956_5aa116c836015.mp4’ :
    Metadata :
    major_brand : mp42
    minor_version : 0
    compatible_brands : isommp42
    creation_time : 2018-02-14 04:42:34
    Duration : 00:00:00.83, start : 0.000000, bitrate : 23270 kb/s
    Stream #0:0(eng) : Video : h264 (Baseline) (avc1 / 0x31637661), yuvj420p(pc, smpte170m), 1920x1080, 25370 kb/s, SAR 65536:65536 DAR 16:9, 29.73 fps, 30 tbr, 90k tbn, 180k tbc (default)
    Metadata :
    rotate : 90
    creation_time : 2018-02-14 04:42:34
    handler_name : VideoHandle
    Stream #0:1(eng) : Audio : aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 96 kb/s (default)
    Metadata :
    creation_time : 2018-02-14 04:42:34
    handler_name : SoundHandle
    At least one output file must be specified
    Conversion failed !

    With "s/.conf$/.jpg/p" :

    [root@server-xxxxxxx-x ~]# for i in `find /var/www/vhosts/xxxxxx.com/httpdocs/save/ -type f -name "*.mp4"`; do ffmpeg -i $i `echo $i | sed -En "s/.conf$/.jpg/p"`; done

    ffmpeg version 2.2.2 Copyright (c) 2000-2014 the FFmpeg developers
    built on Feb 21 2018 03:03:24 with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-18)
    configuration :
    libavutil 52. 66.100 / 52. 66.100
    libavcodec 55. 52.102 / 55. 52.102
    libavformat 55. 33.100 / 55. 33.100
    libavdevice 55. 10.100 / 55. 10.100
    libavfilter 4. 2.100 / 4. 2.100
    libswscale 2. 5.102 / 2. 5.102
    libswresample 0. 18.100 / 0. 18.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from ’/var/www/vhosts/xxxxxx.com/httpdocs/save/03081956_5aa116c836015.mp4’ :
    Metadata :
    major_brand : mp42
    minor_version : 0
    compatible_brands : isommp42
    creation_time : 2018-02-14 04:42:34
    Duration : 00:00:00.83, start : 0.000000, bitrate : 23270 kb/s
    Stream #0:0(eng) : Video : h264 (Baseline) (avc1 / 0x31637661), yuvj420p(pc, smpte170m), 1920x1080, 25370 kb/s, SAR 65536:65536 DAR 16:9, 29.73 fps, 30 tbr, 90k tbn, 180k tbc (default)
    Metadata :
    rotate : 90
    creation_time : 2018-02-14 04:42:34
    handler_name : VideoHandle
    Stream #0:1(eng) : Audio : aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 96 kb/s (default)
    Metadata :
    creation_time : 2018-02-14 04:42:34
    handler_name : SoundHandle
    At least one output file must be specified
    Conversion failed !

    With "s/.mp4$/.jpg/p"

    [root@server-xxxxx-x ~]# for i in `find /var/www/vhosts/xxxxxx.com/httpdocs/save/ -type f -name "*.mp4"`; do ffmpeg -i $i `echo $i | sed -En "s/.mp4$/.jpg/p"`; done

    [image2 @ 0x2c488e0] Could not get frame filename number 2 from pattern ’/var/www/vhosts/xxxxxx.com/httpdocs/save/03100013_5aa2a49bb67bc.jpg’ (either set updatefirst or use a pattern like %03d within the filename pattern)
    av_interleaved_write_frame() : Invalid argument
    frame= 2 fps=0.0 q=3.2 Lsize=N/A time=00:00:00.06 bitrate=N/A
    video:289kB audio:0kB subtitle:0 data:0 global headers:0kB muxing overhead -100.007446%
    Conversion failed !

  • FFmpeg - Concatenate all videos with similar file name ?

    24 décembre 2017, par Pan Hart

    Is there any way to use ffmpeg to concatenate all video files that have the exact same file name for the specified first few characters ?

    For example, if I set it to match the first 5 characters, it will match and concatenate video_1.flv, video_2.flv, video_3.flv and so on.

    But, at the same time, it can also match and concatenate tests_1.flv, tests_2.flv, tests_3.flv and so on.

    Any help will be appreciated !