Recherche avancée

Médias (1)

Mot : - Tags -/intégration

Autres articles (88)

  • Use, discuss, criticize

    13 avril 2011, par

    Talk to people directly involved in MediaSPIP’s development, or to people around you who could use MediaSPIP to share, enhance or develop their creative projects.
    The bigger the community, the more MediaSPIP’s potential will be explored and the faster the software will evolve.
    A discussion list is available for all exchanges between users.

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

  • 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 (8014)

  • How to silent the MP3 decoding process

    3 août 2019, par Golu

    I am learning ffmpeg and I made a MP3 decoder but when I am executing it , some kind of information is printing on my terminal but I don’t want it. So how to silent it ?

    Here is code (full code)

    /* FFmpeg Usage Example
    * Date : 28 July 2019
    */
    #include
    #include <libavformat></libavformat>avformat.h>
    #include <libavcodec></libavcodec>avcodec.h>
    #include <libavutil></libavutil>avutil.h>
    #include

    int decode_packet(AVCodecContext*, AVPacket*, AVFrame*);

    int main(void) {
           AVFormatContext *pFormatContext = avformat_alloc_context();
           AVCodecParameters *pCodecParameters = NULL;
           if(avformat_open_input(&amp;pFormatContext,"song.mp3",NULL,NULL)!=0) {
                   fprintf(stderr,"Could not open file\n");
                   return -1;
           }
           if(avformat_find_stream_info(pFormatContext,NULL)&lt;0) {
                   fprintf(stderr,"Could not find stream\n");
                   return -1;
           }

           size_t stream_index = 0;
           for(;stream_indexnb_streams;stream_index++) {
                   if(pFormatContext->streams[stream_index]->codecpar->codec_type == AVMEDIA_TYPE_AUDIO) {
                           pCodecParameters = pFormatContext->streams[stream_index]->codecpar;
                   }
                           break;
           }

           if(stream_index == -1) {
                   fprintf(stderr,"could not retrive stream info from file\n");
                   return -1;
           }
           AVStream *stream = pFormatContext->streams[stream_index];
           pCodecParameters = stream->codecpar;
           AVCodec *cdc = avcodec_find_decoder(pCodecParameters->codec_id);
           AVCodecContext *cdc_ctx = avcodec_alloc_context3(cdc);
           assert(pCodecParameters);

           if(avcodec_parameters_to_context(cdc_ctx,pCodecParameters) &lt; 0) {
                   fprintf(stderr,"Can't copy params to codec context\n");
                   return -1;
           }

           if(avcodec_open2(cdc_ctx,cdc,NULL) &lt; 0) {
                   fprintf(stderr,"Failed to open decoder for stream\n");
                   return -1;
           }

           AVFrame *frame = av_frame_alloc();
           if(!frame) {
                   fprintf(stderr,"could not allocate memory for frame\n");
                   return -1;
           }

           AVPacket *packet = av_packet_alloc();
    //      av_init_packet(&amp;packet);
           if(!packet) {
                   fprintf(stderr,"could not allocate memory for packet");
                   return -1;
           }

           packet->data=NULL;
           packet->size=0;
           // lets read the packets
           while(av_read_frame(pFormatContext,packet) >= 0) {
                   if(packet->stream_index==stream_index) {
                           int response = 0 ;
               response = decode_packet(cdc_ctx,packet,frame);

                           if(response &lt; 0)
                                   continue;
                   }
           av_packet_unref(packet);
           }

           return 0;
    }

    int decode_packet(AVCodecContext *cdc_ctx , AVPacket *pkt, AVFrame *frm) {
       int response = avcodec_send_packet(cdc_ctx,pkt);
       if(response &lt; 0)
           return response;
       while(response >= 0) {
           response = avcodec_receive_frame(cdc_ctx,frm);
           if(response == AVERROR(EAGAIN) || response == AVERROR_EOF)
               return -1;
           else if(response &lt; 0)
               return response;
       }
       return 0;
    }

    Expected behaviour : nothing should be printed on screen

    Actual behaviour : some kind of logs are printing automatically

    Here is output logs ( some of them )

    [mp3float @ 0x75172e7400] overread, skip -6 enddists: -5 -5        
    [mp3float @ 0x75172e7400] overread, skip -7 enddists: -6 -6
    [mp3float @ 0x75172e7400] overread, skip -6 enddists: -5 -5
    [mp3float @ 0x75172e7400] overread, skip -6 enddists: -4 -4
  • FFMPEG Incredibly Slow On Windows Server 2016

    1er août 2019, par Ben Gardner

    I have a t2.small (2GB RAM, 1 vCPU) Amazon EC2 instance running a process using FFMPEG. It runs just fine ( 30 fps) on my computer (i7, 12GB RAM), but at around 2 fps on the server. Here’s the command :

    rescale_command = f'ffmpeg -i {srcVideo} -filter_complex \"scale={owidth}:{oheight}, setsar=1:1, pad={dim[0]}:{dim[1]}:{oofx}:{oofy}\" {destVideo}'

    I’ve tried uninstalling and reinstalling ffmpeg/ffprobe

    Edited per llogan’s request, I’ve also discovered that it’s relatively speedy towards the beginning (I’m rescaling 100 times over the course of the program) and slows down towards the end.

    It utilizes 100% of the CPU even from the beginning, though.

    Example command/output :
    ffmpeg -i media/8-1-2019/hi/dl-107.mp4 -filter_complex "scale=607:1080, setsar=1:1, pad=1920:1080:656:0" media/8-1-2019/hi/sl-107.mp4

    ffmpeg version 3.2 Copyright (c) 2000-2016 the FFmpeg developers
     built with gcc 5.4.0 (GCC)
     configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-libebur128 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib
     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
     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 'media/8-1-2019/hi/dl-107.mp4':
     Metadata:
       minor_version   : 512
       major_brand     : isom
       compatible_brands: isomiso2avc1mp41
       comment         : vid:v09044ce0000bks3802jqrog167l3rf0
       encoder         : Lavf58.20.100
     Duration: 00:00:15.12, start: 0.000000, bitrate: 1046 kb/s
       Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 540x960 [SAR 1:1 DAR 9:16], 972 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
       Metadata:
         handler_name    : VideoHandler
       Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 64 kb/s (default)
       Metadata:
         handler_name    : SoundHandler
    [Parsed_setsar_1 @ 00000000023ac840] num:den syntax is deprecated, please use num/den or named options instead
    [Parsed_setsar_1 @ 00000000023ad2c0] num:den syntax is deprecated, please use num/den or named options instead
    [libx264 @ 00000000023ad800] using SAR=1/1
    [libx264 @ 00000000023ad800] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 AVX2 LZCNT BMI2
    [libx264 @ 00000000023ad800] profile High, level 4.0
    [libx264 @ 00000000023ad800] 264 - core 148 r2721 72d53ab - H.264/MPEG-4 AVC codec - Copyleft 2003-2016 - 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=1 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, mp4, to 'media/8-1-2019/hi/sl-107.mp4':
     Metadata:
       minor_version   : 512
       major_brand     : isom
       compatible_brands: isomiso2avc1mp41
       comment         : vid:v09044ce0000bks3802jqrog167l3rf0
       encoder         : Lavf57.56.100
       Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=-1--1, 29.97 fps, 30k tbn, 29.97 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(und): Audio: aac (LC) ([64][0][0][0] / 0x0040), 44100 Hz, stereo, fltp, 128 kb/s (default)
       Metadata:
         handler_name    : SoundHandler
         encoder         : Lavc57.64.100 aac
    Stream mapping:
     Stream #0:0 (h264) -> scale (graph 0)
     pad (graph 0) -> Stream #0:0 (libx264)
     Stream #0:1 -> #0:1 (aac (native) -> aac (native))
    Press [q] to stop, [?] for help
    frame=  453 fps=3.6 q=29.0 Lsize=    3016kB time=00:00:15.01 bitrate=1645.7kbits/s speed=0.12x
    video:2763kB audio:237kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.576820%
    [libx264 @ 00000000023ad800] frame I:6     Avg QP:20.93  size: 38467
    [libx264 @ 00000000023ad800] frame P:118   Avg QP:23.12  size: 11624
    [libx264 @ 00000000023ad800] frame B:329   Avg QP:25.19  size:  3725
    [libx264 @ 00000000023ad800] consecutive B-frames:  1.8%  2.6%  4.6% 90.9%
    [libx264 @ 00000000023ad800] mb I  I16..4: 16.4% 76.7%  6.9%
    [libx264 @ 00000000023ad800] mb P  I16..4:  2.3%  5.8%  0.9%  P16..4:  9.8%  3.8%  1.6%  0.0%  0.0%    skip:75.7%
    [libx264 @ 00000000023ad800] mb B  I16..4:  0.4%  0.7%  0.1%  B16..8:  9.5%  1.6%  0.3%  direct: 0.6%  skip:86.8%  L0:43.0% L1:50.8% BI: 6.2%
    [libx264 @ 00000000023ad800] 8x8 transform intra:67.4% inter:78.3%
    [libx264 @ 00000000023ad800] coded y,uvDC,uvAC intra: 32.5% 40.1% 9.4% inter: 2.7% 3.9% 0.1%
    [libx264 @ 00000000023ad800] i16 v,h,dc,p: 50% 25%  6% 19%
    [libx264 @ 00000000023ad800] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 38% 11% 27%  3%  3%  5%  3%  6%  3%
    [libx264 @ 00000000023ad800] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 43% 11% 12%  5%  7%  9%  4%  7%  3%
    [libx264 @ 00000000023ad800] i8c dc,h,v,p: 62% 11% 22%  5%
    [libx264 @ 00000000023ad800] Weighted P-Frames: Y:0.0% UV:0.0%
    [libx264 @ 00000000023ad800] ref P L0: 64.4% 14.3% 16.1%  5.2%
    [libx264 @ 00000000023ad800] ref B L0: 90.6%  7.5%  2.0%
    [libx264 @ 00000000023ad800] ref B L1: 97.7%  2.3%
    [libx264 @ 00000000023ad800] kb/s:1496.84
    [aac @ 0000000000628120] Qavg: 754.761
  • Having trouble obtaining the time from RTP Timestamps obtained through OpenCV

    24 août 2019, par Fr0sty

    I am finding it a bit difficult trying to understand whether or not the hack around with FFmpeg and OpenCV really provided a RTP timestamp. My last post helped a little bit but got me stuck in trying to validate the timestamps obtained through this work around by modifying ffmpeg and opencv.

    FFmpeg version : 4.1.0
    OpenCV version : 3.4.1

    import cv2
    import time
    from datetime import datetime, date

    uri = 'rtsp://admin:password@192.168.1.66:554/Streaming/Channels/101'
    cap = cv2.VideoCapture(uri)
    '''One is the offset between the two epochs. Unix uses an epoch located at 1/1/1970-00:00h (UTC) and NTP uses 1/1/1900-00:00h.
    This leads to an offset equivalent to 70 years in seconds (there are 17 leap years between the two dates so the offset is'''
    time_offset = 2208988800 # (70*365 + 17)*86400 = 2208988800 (in seconds)
    # offset = 3775484294
    days = 43697
    pdat = "1900-01-01 00:00:00:00"
    mdat = "2019-08-23 22:02:44:00" # str(datetime.now()) + str(datetime.now().time())
    pdate = datetime.strptime(pdat, "%Y-%m-%d %H:%M:%S:%f").date()
    mdate = datetime.strptime(mdat, "%Y-%m-%d %H:%M:%S:%f").date()
    delta = (mdate - pdate).days
    offset = delta * 86400
    def time_delta(s):
       return (s - time_offset)

    while True:
       frame_exists, curr_frame = cap.read()
       if frame_exists:
           seconds = cap.getRTPTimeStampSeconds()
           fraction = cap.getRTPTimeStampFraction()
           timestamp = cap.getRTPTimeStampTs()
           unix_offset = seconds - time_offset
           msec = int((int(fraction) / 0xFFFFFFFF) * 1000.0)
           ts = float(str(unix_offset) + "." + str(msec))
           # print("Timestamp per Frame:%i" % timestamp)
           print((datetime.fromtimestamp(float(ts) + offset)))
    cap.release()

    My Output :

    On August 23, 2019 at 22:02

    ...
    2019-08-23 13:59:52.781000
    2019-08-23 13:59:52.726000
    2019-08-23 13:59:52.671000
    2019-08-23 13:59:52.616000
    2019-08-23 13:59:52.561000
    2019-08-23 13:59:52.506000
    2019-08-23 13:59:52.451000
    2019-08-23 13:59:52.396000
    2019-08-23 13:59:52.342000
    2019-08-23 13:59:52.287000
    2019-08-23 13:59:52.232000
    2019-08-23 13:59:52.177000
    2019-08-23 13:59:52.122000
    2019-08-23 13:59:52.067000
    2019-08-23 13:59:52.012000
    2019-08-23 13:59:53.570000
    2019-08-23 13:59:53.020000
    2019-08-23 13:59:53.847000
    2019-08-23 13:59:53.792000

    I’ve noticed how the time increments weirdly (that’s not suppose to happen in the real, current time), such as the last two lines and a few others in between in the output. A bit flabbergasted as to what went wrong. Also trying this out on multiple IP cameras, with each showing a different timestamp probably related to when they were turned on.