Recherche avancée

Médias (91)

Autres articles (11)

  • Contribute to a better visual interface

    13 avril 2011

    MediaSPIP is based on a system of themes and templates. Templates define the placement of information on the page, and can be adapted to a wide range of uses. Themes define the overall graphic appearance of the site.
    Anyone can submit a new graphic theme or template and make it available to the MediaSPIP community.

  • Ajouter des informations spécifiques aux utilisateurs et autres modifications de comportement liées aux auteurs

    12 avril 2011, par

    La manière la plus simple d’ajouter des informations aux auteurs est d’installer le plugin Inscription3. Il permet également de modifier certains comportements liés aux utilisateurs (référez-vous à sa documentation pour plus d’informations).
    Il est également possible d’ajouter des champs aux auteurs en installant les plugins champs extras 2 et Interface pour champs extras.

  • Qu’est ce qu’un éditorial

    21 juin 2013, par

    Ecrivez votre de point de vue dans un article. Celui-ci sera rangé dans une rubrique prévue à cet effet.
    Un éditorial est un article de type texte uniquement. Il a pour objectif de ranger les points de vue dans une rubrique dédiée. Un seul éditorial est placé à la une en page d’accueil. Pour consulter les précédents, consultez la rubrique dédiée.
    Vous pouvez personnaliser le formulaire de création d’un éditorial.
    Formulaire de création d’un éditorial Dans le cas d’un document de type éditorial, les (...)

Sur d’autres sites (4352)

  • ffmpeg -concat slowing down AAC audio files

    28 août 2014, par Marc

    I am concatenating six m4a files with this command

    ffmpeg -f concat -i audiofiles.txt -c copy all_audio_edited.m4a

    each file has a duration of 6 hours (24 in total) but the concatenation doesn’t work quite well : the first part of the file (the first m4a) is perfect, but all the others are slowed down, so the final duration is >26 hours

    What’s wrong ?

    Thanks

    Marcs-MacBook-Pro:Sof marc$ ffmpeg -report -f concat -i audiofiles.txt -c copy all_audio_edited.m4a
    ffmpeg started on 2014-08-28 at 23:35:06
    Report written to "ffmpeg-20140828-233506.log"
    ffmpeg version 2.3 Copyright (c) 2000-2014 the FFmpeg developers
     built on Aug 26 2014 17:59:15 with Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn)
     configuration: --prefix=/usr/local/Cellar/ffmpeg/2.3 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-avresample --enable-vda --cc=clang --host-cflags= --host-ldflags= --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libxvid --enable-libfreetype --enable-libtheora --enable-libvorbis --enable-libvpx --enable-librtmp --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-aacenc --enable-libass --enable-ffplay --enable-libspeex --enable-libschroedinger --enable-libfdk-aac --enable-openssl --enable-libopus --enable-frei0r --enable-libcaca --enable-libquvi --enable-libvidstab --enable-libx265 --enable-libopenjpeg --extra-cflags='-I/usr/local/Cellar/openjpeg/1.5.1_1/include/openjpeg-1.5 '
     libavutil      52. 92.100 / 52. 92.100
     libavcodec     55. 69.100 / 55. 69.100
     libavformat    55. 48.100 / 55. 48.100
     libavdevice    55. 13.102 / 55. 13.102
     libavfilter     4. 11.100 /  4. 11.100
     libavresample   1.  3.  0 /  1.  3.  0
     libswscale      2.  6.100 /  2.  6.100
     libswresample   0. 19.100 /  0. 19.100
     libpostproc    52.  3.100 / 52.  3.100
    [concat @ 0x7fcb6c803400] Estimating duration from bitrate, this may be inaccurate
    Input #0, concat, from 'audiofiles.txt':
     Duration: 00:00:00.00, start: 0.000000, bitrate: 279 kb/s
       Stream #0:0: Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 280 kb/s
    Output #0, ipod, to 'all_audio_edited.m4a':
     Metadata:
       encoder         : Lavf55.48.100
       Stream #0:0: Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, 280 kb/s
    Stream mapping:
     Stream #0:0 -> #0:0 (copy)
    Press [q] to stop, [?] for help
    size= 3020597kB time=26:07:14.44 bitrate= 263.1kbits/s    
    video:0kB audio:3004946kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.520849%
  • use ffmpeg to cut video,the video will have extra duration

    17 juin 2021, par Venus
    ffmpeg -ss 2 -i input.mp4 -c copy -t 5 out.mp4


    


    after I executed the ffmpeg command.
    
the out.mp4 total have 7 seconds,it starts from the second frame of input.mp4 to the seventh frame of input.mp4.
    
It only has 5 effective seconds of the input.mp4, the last 2 seconds of input.mp4 is empty.

    


  • airplay-js no start streaming

    24 août 2015, par Mikel David Carozzi Sanchez

    I’m writing a local file streaming over airplay protocol with subtitle support, to do that I’m using ffmpeg and the process works really fine, but the main problem is when I try to start streaming after burning the subtitle, the airplay doesn’t work, but when I comment the lines that do the burning works fine. What am I doing wrong ? Here is the code.

    var fileSource = './source.mp4';
    var subtitleSource = './source.srt';

    var http = require('http'),
    fs = require('fs'),
    util = require('util'),
    OS = require('os'),
    spawn = require('child_process').spawn,
    airplay = require('airplay-js');

    var browser = airplay.createBrowser();

    var tmpDir = OS.tmpdir();
    var tmpFile = tmpDir + '/localTV.mp4';

    var sourceSize;
    var tmpFileSize;

    function init(){
    console.log('Starting LocalTV');
    console.log('Burning Subtitle into ' + fileSource);

    var stat = fs.statSync(fileSource);
    sourceSize = stat.size;

    fs.exists(tmpFile, function(exists){
       if(exists) fs.unlink(tmpFile)
    });

    var ffmpeg = spawn('./ffmpeg', [
       '-i', fileSource,
       '-sub_charenc', 'CP1252',
       '-i', subtitleSource,
       '-map', '0:v',
       '-map', '0:a',
       '-c', 'copy',
       '-map', '1',
       '-c:s:0', 'mov_text',
       '-metadata:s:s:0', 'language=esp',
       tmpFile
    ]);

    ffmpeg.stderr.pipe(process.stdout);

    ffmpeg.on('close', function(code){
       if(code == 0){
           console.log('Burning subtitle finished');
           initServer();
       }
    })

    ffmpeg.on('error', function(error){
       console.log(error, 'ffmpeg error');
    });

    //  initServer();

    return false;  
    }

    function initServer(){

    http.createServer(function (req, res) {

       var path = tmpFile;
       var stat = fs.statSync(path);
       var total = stat.size;

       if (req.headers['range']) {
           var range = req.headers.range;
           var parts = range.replace(/bytes=/, "").split("-");
           var partialstart = parts[0];
           var partialend = parts[1];

           var start = parseInt(partialstart, 10);
           var end = partialend ? parseInt(partialend, 10) : total-1;
           var chunksize = (end-start)+1;

           var file = fs.createReadStream(path, {start: start, end: end});
           res.writeHead(206, { 'Content-Range': 'bytes ' + start + '-' + end + '/' + total, 'Accept-Ranges': 'bytes', 'Content-Length': chunksize, 'Content-Type': 'video/mp4' });
           file.pipe(res);

         }else{        

           res.writeHead(200, { 'Content-Length': total, 'Content-Type': 'video/mp4' });
           fs.createReadStream(path).pipe(res);
       }

    }).listen(1337, '192.168.0.100', function(){
       console.log('HTTP Server Started');
       startStream();
    });

    return false;      
    }

    function startStream(){
    console.log('Streaming to AppleTV');

    var stat = fs.statSync(tmpFile);
    tmpFileSize = stat.size;    

    //  if(tmpFileSize >= sourceSize){
       browser.on('deviceOn', function(device) {
           device.play('http://192.168.0.100:1337', 0, function(status){
               console.info(status, 'Playing video');
           });
       });

       browser.on('error', function(err){
           console.log(err, 'Error airplay');
       })

       browser.start();
    //  }else{
    //      console.log('Temp file minor size that source, something is wrong');
    //  }

    return false;      
    }

    init();