Recherche avancée

Médias (1)

Mot : - Tags -/stallman

Autres articles (66)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

  • De l’upload à la vidéo finale [version standalone]

    31 janvier 2010, par

    Le chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
    Upload et récupération d’informations de la vidéo source
    Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
    Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...)

  • Librairies et binaires spécifiques au traitement vidéo et sonore

    31 janvier 2010, par

    Les logiciels et librairies suivantes sont utilisées par SPIPmotion d’une manière ou d’une autre.
    Binaires obligatoires FFMpeg : encodeur principal, permet de transcoder presque tous les types de fichiers vidéo et sonores dans les formats lisibles sur Internet. CF ce tutoriel pour son installation ; Oggz-tools : outils d’inspection de fichiers ogg ; Mediainfo : récupération d’informations depuis la plupart des formats vidéos et sonores ;
    Binaires complémentaires et facultatifs flvtool2 : (...)

Sur d’autres sites (9861)

  • FFmpeg recording h264 to a circular buffer "Packet header not contained in global..."

    25 novembre 2015, par user15941

    I’ve made a class which captures a RTSP h264 stream and stores its Packets in a circular buffer. On demand the content of the buffer is dumped to a file with header and trailer. I based the code mainly on : this question example, but by trial and error I came up with three modifications :

    1. I use wrapping object for AVPacket not to bother with memory deallocation.
    2. I convert the data with a filter : "h264_mp4toannexb", so the result file is in .ts format.
    3. I wait in a loop to get a key-frame before any push_back() to circular buffer.

    However something’s wrong with the framerate. The only player, that opens my videos correctly is mplayer. VLC and other players I tested show all the frames in one second.

    ffmpeg lib also reports a lot of error messages : "Packet header is not contained in global metadata", but I don’t know whether the information is held in that header or in some other place ?

    With this code I assign consecutive pts and dts. Then every packet is stored in the circular buffer.

    packet.pts = idx++;
    packet.dts = packet.pts;
    if (cbuf_mutex.try_lock()) {
       cbuf.push_back(PACKET(&packet));
       captured_frames++;
       if (captured_frames > CBUF_SIZE)
           captured_frames = CBUF_SIZE;
       cbuf_mutex.unlock();
    }
    else {
       syslog(LOG_ERR, "Buffer mutex was locked - packet skipped");
    }

    PACKET class implements copying of the data.
    Is there something missing, which may cause the errors ?

    PACKET::PACKET(const PACKET& rhs)
    {
       av_new_packet(&packet, rhs.packet.size);
       av_copy_packet(&packet, &rhs.packet);
    }

    PACKET& PACKET::operator=(const PACKET& rhs)
    {
       if (&rhs == this)
           return *this;
       av_free_packet(&packet);
       av_new_packet(&packet, rhs.packet.size);
       av_copy_packet(&packet, &rhs.packet);
       return *this;
    }
  • FFMPEG "buffer queue overflow, dropping" with trim and atrim filters

    11 décembre 2016, par Prasanna Mahendiran

    In FFMPEG I am actually trimming and concating a 24 FPS video. When I apply a complex filter

    ffmpeg -i sample.mp4 -filter_complex \
     "[0:v]setpts = PTS-STARTPTS[bv];
     [bv]split=6[v0][v1][v2][v3][v4][v5];
     [v0]trim=start_frame=1:end_frame=142,loop=1:1:1,setpts=N/FRAME_RATE/TB[0v];
     [v1]trim=start_frame=846:end_frame=878,loop=1:1:1,setpts=N/FRAME_RATE/TB[1v];
     [v2]trim=start_frame=57:end_frame=114,loop=1:1:1,setpts=N/FRAME_RATE/TB[2v];
     [v3]trim=start_frame=865:end_frame=885,loop=1:1:1,setpts=N/FRAME_RATE/TB[3v];
     [v4]trim=start_frame=70:end_frame=155,loop=1:1:1,setpts=N/FRAME_RATE/TB[4v];
     [v5]trim=start_frame=155:end_frame=909,loop=1:1:1,setpts=N/FRAME_RATE/TB[5v];
     [0:a]asplit=6[a0][a1][a2][a3][a4][a5];
     [a0]atrim=0.041666666666666664:5.917,asetpts=N/SR/TB[0a];
     [a1]atrim=35.256:36.603,asetpts=N/SR/TB[1a];
     [a2]atrim=2.379:4.767,asetpts=N/SR/TB[2a];
     [a3]atrim=36.024:36.859,asetpts=N/SR/TB[3a];
     [a4]atrim=2.93:6.438172,asetpts=N/SR/TB[4a];
     [a5]atrim=6.438172:37.895,asetpts=N/SR/TB[5a];
     [0v][0a][1v][1a][2v][2a][3v][3a][4v][4a][5v][5a]concat=n=6:v=1:a=1[vv][aa]"\
     -map "[vv]" -map "[aa]" output.mp4

    I am getting "buffer queue overflow, dropping" error. The resultant video and audio is still and not working properly.

    ffmpeg version 3.2-1~16.04.york1 Copyright (c) 2000-2016 the FFmpeg developers
     built with gcc 5.4.1 (Ubuntu 5.4.1-3ubuntu1~ubuntu16.04.1york0) 20161019
     configuration: --prefix=/usr --extra-version='1~16.04.york1' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-libtesseract --disable-stripping --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libebur128 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librubberband --enable-libschroedinger --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-libxvid --enable-libzmq --enable-libzvbi --enable-opengl --enable-sdl2 --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-openal --enable-frei0r --enable-libopencv --enable-libx264 --enable-chromaprint --enable-shared
     libavutil      55. 34.100 / 55. 34.100
     libavcodec     57. 64.100 / 57. 64.100
     libavformat    57. 56.100 / 57. 56.100
     libavdevice    57.  1.100 / 57.  1.100
     libavfilter     6. 65.100 /  6. 65.100
     libavresample   3.  1.  0 /  3.  1.  0
     libswscale      4.  2.100 /  4.  2.100
     libswresample   2.  3.100 /  2.  3.100
     libpostproc    54.  1.100 / 54.  1.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'sample.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       track           : 0
       artist          :
       album           :
       date            : 0
       genre           :
       lyrics          :
       title           :
       encoder         : Lavf56.36.100
     Duration: 00:00:37.90, start: 0.000000, bitrate: 951 kb/s
       Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 640x480 [SAR 1:1 DAR 4:3], 820 kb/s, 24 fps, 24 tbr, 12288 tbn, 48 tbc (default)
       Metadata:
         handler_name    : VideoHandler
       Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 126 kb/s (default)
       Metadata:
         handler_name    : SoundHandler
    File 'output.mp4' already exists. Overwrite ? [y/N] y
    [libx264 @ 0x55650097a540] using SAR=1/1
    [libx264 @ 0x55650097a540] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 AVX2 LZCNT BMI2
    [libx264 @ 0x55650097a540] profile High, level 3.0
    [libx264 @ 0x55650097a540] 264 - core 148 r2643 5c65704 - H.264/MPEG-4 AVC codec - Copyleft 2003-2015 - 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=24 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, mp4, to 'output.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       track           : 0
       artist          :
       album           :
       date            : 0
       genre           :
       lyrics          :
       title           :
       encoder         : Lavf57.56.100
       Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 640x480 [SAR 1:1 DAR 4:3], q=-1--1, 24 fps, 12288 tbn, 24 tbc (default)
       Metadata:
         encoder         : Lavc57.64.100 libx264
       Side data:
         cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
       Stream #0:1: Audio: aac (LC) ([64][0][0][0] / 0x0040), 44100 Hz, stereo, fltp, 128 kb/s (default)
       Metadata:
         encoder         : Lavc57.64.100 aac
    Stream mapping:
     Stream #0:0 (h264) -> setpts
     Stream #0:1 (aac) -> asplit
     concat:out:v0 -> Stream #0:0 (libx264)
     concat:out:a0 -> Stream #0:1 (aac)
    Press [q] to stop, [?] for help
    [Parsed_concat_33 @ 0x55650097b420] Buffer queue overflow, dropping. 471.5kbits/s speed=4.94x    
       Last message repeated 201 times
    [Parsed_concat_33 @ 0x55650097b420] Buffer queue overflow, dropping. 522.9kbits/s speed=3.89x    
       Last message repeated 1266 times
    [Parsed_concat_33 @ 0x55650097b420] Buffer queue overflow, dropping. 557.0kbits/s speed=3.28x    
       Last message repeated 48 times
    [output stream 0:1 @ 0x556500947e20] 100 buffers queued in output stream 0:1, something may be wrong.
    [Parsed_concat_33 @ 0x55650097b420] Buffer queue overflow, dropping. 718.6kbits/s speed=3.46x    
       Last message repeated 19 times
    [output stream 0:0 @ 0x5565009785c0] 100 buffers queued in output stream 0:0, something may be wrong.
    frame= 1091 fps=117 q=-1.0 Lsize=    2795kB time=00:00:45.51 bitrate= 503.1kbits/s dup=475 drop=0 speed=4.88x    
    video:2455kB audio:316kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.861779%
    [libx264 @ 0x55650097a540] frame I:8     Avg QP:19.26  size: 24207
    [libx264 @ 0x55650097a540] frame P:409   Avg QP:21.33  size:  4108
    [libx264 @ 0x55650097a540] frame B:674   Avg QP:27.46  size:   949
    [libx264 @ 0x55650097a540] consecutive B-frames: 10.3% 13.9% 24.5% 51.3%
    [libx264 @ 0x55650097a540] mb I  I16..4:  9.9% 57.0% 33.1%
    [libx264 @ 0x55650097a540] mb P  I16..4:  3.6%  7.6%  2.9%  P16..4: 33.0% 10.6%  3.0%  0.0%  0.0%    skip:39.2%
    [libx264 @ 0x55650097a540] mb B  I16..4:  0.4%  0.8%  0.4%  B16..8: 24.5%  2.6%  0.2%  direct: 0.5%  skip:70.5%  L0:55.5% L1:41.8% BI: 2.7%
    [libx264 @ 0x55650097a540] 8x8 transform intra:53.8% inter:66.7%
    [libx264 @ 0x55650097a540] coded y,uvDC,uvAC intra: 44.6% 50.0% 14.8% inter: 6.2% 7.7% 0.2%
    [libx264 @ 0x55650097a540] i16 v,h,dc,p: 22% 28% 17% 33%
    [libx264 @ 0x55650097a540] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 20% 23% 28%  3%  4%  3% 11%  3%  5%
    [libx264 @ 0x55650097a540] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 26% 26% 16%  2%  5%  3% 16%  3%  3%
    [libx264 @ 0x55650097a540] i8c dc,h,v,p: 60% 22% 13%  6%
    [libx264 @ 0x55650097a540] Weighted P-Frames: Y:0.0% UV:0.0%
    [libx264 @ 0x55650097a540] ref P L0: 72.6%  8.4% 15.1%  3.9%
    [libx264 @ 0x55650097a540] ref B L0: 88.5% 10.7%  0.8%
    [libx264 @ 0x55650097a540] ref B L1: 93.3%  6.7%
    [libx264 @ 0x55650097a540] kb/s:442.30
    [aac @ 0x556500979280] Qavg: 3215.870

    I tried with other stackoverflow questions but none of them worked. Also I think it is partially because the trim timings are mixed. That is start time can be anywhere between 0-end. When I make it strictly increasing it is working fine.

  • FFMPEG Draw Text Returning "At least one output file must be specified"

    2 janvier 2017, par Rocco M

    I am simply trying to overlay text using the same script as this question’s top answer : Text on video ffmpeg

    ffmpeg -i input.mp4 -vf drawtext="fontfile=/path/to/font.ttf: \
    text='Stack Overflow': fontcolor=white: fontsize=24: box=1:     boxcolor=black@0.5: \
    boxborderw=5: x=(w-text_w)/2: y=(h-text_h)/2" -codec:a copy output.mp4

    The output file is never made however, and instead I am returned with the error "At least one output file must be specified".