Recherche avancée

Médias (91)

Autres articles (86)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

  • 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 ;

Sur d’autres sites (11863)

  • ffmpeg app using node occasionally crashes as file doesn't appear to be read correctly

    31 mai 2022, par Zabs

    I have an simple Node application that allows me to pass an AWS S3 URL link to a file (in this case video files). It uses the FFMPEG library to read the video file and return data like codecs, duration, bitrate etc..

    


    The script is called from PHP script which in turn send the data to the Node endpoint and passes the Amazon S3 URL to node. Sometimes for no obvious reasons the video file fails to return the expected values regarding container, codec, duration etc... and just returns '0'. But when I try the exact same file/request again it returns this data correctly e.g container:mp4

    


    I'm not sure but I think the script somehow needs the createWriteStream to be closed but I cannot be sure, the problem is the issue I have found doesn't happen all the time but sporadically so its hard to get to the issue when its difficult to replicate it.

    


    Any ideas ?

    


    router.post('/', async function(req, res) {
  const fileURL = new URL(req.body.file);
  var path = fileURL.pathname;
  path = 'tmp/'+path.substring(1);    // removes the initial / from the path

  let file = fs.createWriteStream(path);  // create the file locally
  const request = https.get(fileURL, function(response) {
    response.pipe(file);
  });
  
  // after file has saved
  file.on('finish', function () {
    var process = new ffmpeg(path);
    process.then(function (video) {
      let metadata = formatMetadata(video.metadata);

      res.send ({
        status: '200',
        data: metadata,
        errors: errors,
        response: 'success'
      });

    }, function (err) {
      console.warn('Error: ' + err);

      res.send ({
        status: '400',
        data: 'Something went wrong processing this video',
        response: 'fail',
      });
    });
  });

  file.on('error', function (err) {
    console.warn(err);
  });

});

function formatMetadata(metadata) {
  const data = {
    'video' : metadata.video,
    'audio' : metadata.audio,
    'duration' : metadata.duration
  };
  return data;
}


    


    // Expected output

    


    {"data":{"video":{"container":"mov","bitrate":400,"stream":0,"codec":"h264","resolution":{"w":1280,"h":720},"resolutionSquare":{"w":1280,"h":720},"aspect":{"x":16,"y":9,"string":"16:9","value":1.7777777777777777},"rotate":0,"fps":25,"pixelString":"1:1","pixel":1},"audio":{"codec":"aac","bitrate":"127","sample_rate":44100,"stream":0,"channels":{"raw":"stereo","value":2}},"duration":{"raw":"00:00:25.68","seconds":25}}


    


    // Actual output

    


    {"data":{"video":{"container":"","bitrate":0,"stream":0,"codec":"","resolution":{"w":0,"h":0},"resolutionSquare":{"w":0,"h":null},"aspect":{},"rotate":0,"fps":0,"pixelString":"","pixel":0},"audio":{"codec":"","bitrate":"","sample_rate":0,"stream":0,"channels":{"raw":"","value":""}},"duration":{"raw":"","seconds":0}}


    


    Note - this happens sporadically

    


  • ffmpeg, live MPEG-TS demux & decode

    8 mai 2017, par NadavRub

    Environment

    • Ubuntu-14
    • C++
    • ffmpeg

    Use-case

    • Live SPTS is received via UDP by a 3rd party module
    • TS Packets are received iteratively
    • The TS Video (ES) should be decoded in minimal latency

    Considered Implementation

    • Upon TS packet reception, immediately push it to the TS demux
    • Once enough packets are received the video format is resolvable, create the video codec
    • Push each video packet into the video decoder
    • Once enough video packets were processed the video codec result a valid output frame

    Problem at-hand

    Can this be done w/ ffmpeg ?!?!, … using “avformat_open_input” mandate a file to read from… I need a way where I can iteratively push packets to the TS demuxer ( w/ minimal latency )…

    Does ffmpeg support the above mentioned use-case ? How ?

  • how to remove duplicated frame from 00:00:00,00 to 00:00:00,25 section not overall with mpdecimate filter ?

    19 octobre 2018, par cool jobs

    how to remove duplicated frame from 00:00:00,00 to 00:00:00,25 (00frame 25frames)section not overall with mpdecimate filter ??
    normally H264 video have some duplicated frames on video start section ..

       i have tried like this ,

    1)  ./ffmpeg -i cated_2-3.UMMJI.MTS -map 0:0 -c:v prores_ks -profile:v 1 -qscale:v 8  -s 1920x1080  -r 29.97  -top 1  -c:a pcm_s16le    -map 0:1 -filter:a:0 "pan=mono|c0=c0" -map 0:1 -filter:a:1 "pan=mono|c0=c1"   -metadata:s encoder="Apple ProRes 422 LT"  -filter_complex "[0]split=2[a][b];[a]trim=end_frame=26,mpdecimate[a];[b]trim=start_frame=25,setpts=PTS-STARTPTS[b];[a][b]concat=n=2:v=1:a=0" -vsync vfr -vf blackdetect=d=0.1:pix_th=.1  cated_2-3.UMMJI_MTS_mpdecimate26_section.mov

    and  tried to check black_frame on out prores mov file
    2)./ffmpeg  -i cated_2-3.UMMJI_MTS_mpdecimate26_section.mov  -vf blackdetect=d=0.1:pix_th=.1  test.mov

    then , will be shown like below

    macmini-master:1.  two_file_test khan$ ./ffmpeg  -i cated_2-3.UMMJI_MTS_mpdecimate26_section.mov  -vf blackdetect=d=0.1:pix_th=.1  test.mov
    ffmpeg version N-92108-ge08a876e67-tessus  https://evermeet.cx/ffmpeg/  Copyright (c) 2000-2018 the FFmpeg developers
     built with Apple LLVM version 10.0.0 (clang-1000.11.45.2)
     configuration: --cc=/usr/bin/clang --prefix=/opt/ffmpeg --extra-version=tessus --enable-avisynth --enable-fontconfig --enable-gpl --enable-libaom --enable-libass --enable-libbluray --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libmysofa --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-version3 --pkg-config-flags=--static --disable-ffplay
     libavutil      56. 19.101 / 56. 19.101
     libavcodec     58. 32.100 / 58. 32.100
     libavformat    58. 18.104 / 58. 18.104
     libavdevice    58.  4.105 / 58.  4.105
     libavfilter     7. 33.100 /  7. 33.100
     libswscale      5.  2.100 /  5.  2.100
     libswresample   3.  2.100 /  3.  2.100
     libpostproc    55.  2.100 / 55.  2.100
    Guessed Channel Layout for Input Stream #0.1 : mono
    Guessed Channel Layout for Input Stream #0.2 : mono
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'cated_2-3.UMMJI_MTS_mpdecimate26_section.mov':
     Metadata:
       major_brand     : qt
       minor_version   : 512
       compatible_brands: qt
       encoder         : Lavf58.18.104
     Duration: 00:25:12.58, start: 0.000000, bitrate: 86198 kb/s
       Stream #0:0(eng): Video: prores (apcs / 0x73637061), yuv422p10le(tv, top first), 1920x1080, 84662 kb/s, SAR 1:1 DAR 16:9, 29.97 fps, 29.97 tbr, 11988 tbn, 11988 tbc (default)
       Metadata:
         handler_name    : VideoHandler
         encoder         : Apple ProRes 422 LT
       Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, mono, s16, 768 kb/s (default)
       Metadata:
         handler_name    : SoundHandler
       Stream #0:2(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, mono, s16, 768 kb/s
       Metadata:
         handler_name    : SoundHandler
    Stream mapping:
     Stream #0:0 -> #0:0 (prores (native) -> h264 (libx264))
     Stream #0:1 -> #0:1 (pcm_s16le (native) -> aac (native))
    Press [q] to stop, [?] for help
    [libx264 @ 0x7f8eb2804200] using SAR=1/1
    [libx264 @ 0x7f8eb2804200] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
    [libx264 @ 0x7f8eb2804200] profile High 4:2:2, level 4.0, 4:2:2, 8-bit
    [libx264 @ 0x7f8eb2804200] 264 - core 157 r2935 545de2f - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
    Output #0, mov, to 'test.mov':
     Metadata:
       major_brand     : qt
       minor_version   : 512
       compatible_brands: qt
       encoder         : Lavf58.18.104
       Stream #0:0(eng): Video: h264 (libx264) (avc1 / 0x31637661), yuv422p, 1920x1080 [SAR 1:1 DAR 16:9], q=-1--1, 29.97 fps, 11988 tbn, 29.97 tbc (default)
       Metadata:
         handler_name    : VideoHandler
         encoder         : Lavc58.32.100 libx264
       Side data:
         cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
       Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 69 kb/s (default)
       Metadata:
         handler_name    : SoundHandler
         encoder         : Lavc58.32.100 aac
    frame= 8224 fps= 21 q=29.0 size=   86528kB time=00:04:34.49 bitrate=2582.3kbits/s dup=19 drop=0 speed=0.689x

    as you can see duplicated frame just changed to black frame , not removed
    this MTS file have 19 duplicated frames !
    also i have checked in FCPX and count how many dupicated frame on out prores mov file ...