Recherche avancée

Médias (91)

Autres articles (68)

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

  • Récupération d’informations sur le site maître à l’installation d’une instance

    26 novembre 2010, par

    Utilité
    Sur le site principal, une instance de mutualisation est définie par plusieurs choses : Les données dans la table spip_mutus ; Son logo ; Son auteur principal (id_admin dans la table spip_mutus correspondant à un id_auteur de la table spip_auteurs)qui sera le seul à pouvoir créer définitivement l’instance de mutualisation ;
    Il peut donc être tout à fait judicieux de vouloir récupérer certaines de ces informations afin de compléter l’installation d’une instance pour, par exemple : récupérer le (...)

  • Les tâches Cron régulières de la ferme

    1er décembre 2010, par

    La gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
    Le super Cron (gestion_mutu_super_cron)
    Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...)

Sur d’autres sites (9786)

  • aarch64 : h264qpel : Do vertical filtering without transposing

    3 septembre 2021, par Martin Storsjö
    aarch64 : h264qpel : Do vertical filtering without transposing
    

    This gives rather big speedups on these functions :

    Before :
    put_h264_qpel_8_mc01_8_neon : 241.0 131.5 138.7
    put_h264_qpel_8_mc02_8_neon : 214.7 121.2 127.5
    put_h264_qpel_8_mc03_8_neon : 242.5 131.2 135.7
    put_h264_qpel_8_mc11_8_neon : 421.2 218.7 251.0
    put_h264_qpel_8_mc12_8_neon : 878.0 509.5 537.5
    put_h264_qpel_8_mc13_8_neon : 423.7 217.0 252.0
    put_h264_qpel_8_mc21_8_neon : 858.2 479.5 514.0
    put_h264_qpel_8_mc22_8_neon : 649.7 385.2 403.0
    put_h264_qpel_8_mc23_8_neon : 860.2 476.5 517.7
    put_h264_qpel_8_mc31_8_neon : 437.2 219.5 252.5
    put_h264_qpel_8_mc32_8_neon : 892.5 510.5 546.0
    put_h264_qpel_8_mc33_8_neon : 438.2 218.5 257.0
    put_h264_qpel_16_mc01_8_neon : 944.2 509.7 546.7
    put_h264_qpel_16_mc02_8_neon : 878.7 469.5 509.7
    put_h264_qpel_16_mc03_8_neon : 945.7 510.7 557.0
    put_h264_qpel_16_mc11_8_neon : 1663.2 858.5 979.5
    put_h264_qpel_16_mc12_8_neon : 3510.2 2027.7 2112.7
    put_h264_qpel_16_mc13_8_neon : 1664.7 857.5 980.5
    put_h264_qpel_16_mc21_8_neon : 3366.2 1928.5 2030.5
    put_h264_qpel_16_mc22_8_neon : 2584.7 1514.7 1590.2
    put_h264_qpel_16_mc23_8_neon : 3367.7 1927.7 2035.0
    put_h264_qpel_16_mc31_8_neon : 1716.7 849.7 997.0
    put_h264_qpel_16_mc32_8_neon : 3564.0 2044.2 3835.2
    put_h264_qpel_16_mc33_8_neon : 1717.7 863.0 989.5

    After :
    put_h264_qpel_8_mc01_8_neon : 136.0 73.7 76.0
    put_h264_qpel_8_mc02_8_neon : 108.7 65.0 64.0
    put_h264_qpel_8_mc03_8_neon : 137.5 72.7 73.0
    put_h264_qpel_8_mc11_8_neon : 316.2 159.0 188.5
    put_h264_qpel_8_mc12_8_neon : 653.0 375.5 384.7
    put_h264_qpel_8_mc13_8_neon : 318.7 165.5 189.5
    put_h264_qpel_8_mc21_8_neon : 739.2 385.7 432.5
    put_h264_qpel_8_mc22_8_neon : 530.7 295.5 309.5
    put_h264_qpel_8_mc23_8_neon : 741.2 393.7 421.0
    put_h264_qpel_8_mc31_8_neon : 332.2 162.5 190.0
    put_h264_qpel_8_mc32_8_neon : 667.5 378.2 390.5
    put_h264_qpel_8_mc33_8_neon : 332.7 166.5 195.5
    put_h264_qpel_16_mc01_8_neon : 524.2 285.2 294.0
    put_h264_qpel_16_mc02_8_neon : 454.7 252.2 250.2
    put_h264_qpel_16_mc03_8_neon : 525.7 286.0 283.0
    put_h264_qpel_16_mc11_8_neon : 1243.2 630.7 726.7
    put_h264_qpel_16_mc12_8_neon : 2610.2 1479.7 1481.2
    put_h264_qpel_16_mc13_8_neon : 1250.5 631.7 727.7
    put_h264_qpel_16_mc21_8_neon : 2890.2 1571.2 1679.7
    put_h264_qpel_16_mc22_8_neon : 2108.7 1177.5 1223.5
    put_h264_qpel_16_mc23_8_neon : 2891.7 1578.7 1667.7
    put_h264_qpel_16_mc31_8_neon : 1296.7 630.5 752.5
    put_h264_qpel_16_mc32_8_neon : 2664.0 1483.2 1503.5
    put_h264_qpel_16_mc33_8_neon : 1297.7 632.5 747.2

    I.e. overall a 20%-60% reduction in runtime of these
    functions.

    Signed-off-by : Martin Storsjö <martin@martin.st>

    • [DH] libavcodec/aarch64/h264qpel_neon.S
  • x86/aacencdsp : add AVX version of quantize_bands

    1er juin 2024, par James Almer
    x86/aacencdsp : add AVX version of quantize_bands
    

    quant_bands_signed_c : 1928.0
    quant_bands_signed_sse2 : 406.0
    quant_bands_signed_avx : 207.0
    quant_bands_unsigned_c : 1702.0
    quant_bands_unsigned_sse2 : 404.0
    quant_bands_unsigned_avx : 209.0

    Signed-off-by : James Almer <jamrial@gmail.com>

    • [DH] libavcodec/aacenc.h
    • [DH] libavcodec/x86/aacencdsp.asm
    • [DH] libavcodec/x86/aacencdsp_init.c
    • [DH] tests/checkasm/aacencdsp.c
  • Live stream is gets delayed while processing frame in opencv + python

    18 mars 2021, par Himanshu sharma

    I capture and process an IP camera RTSP stream in a OpenCV 4.4.0.46 on Ubuntu.&#xA;Unfortunately the processing takes quite a lot of time, roughly 0.2s per frame, and the stream quickly gets delayed.&#xA;Video file have to save for 5 min but by this delaying video file is saved for 3-4 min only.

    &#xA;

    Can we process faster to overcome delays ?

    &#xA;

    I have two IP camera which have two diffrent fps_rate(Camera 1 have 18000 and camera 2 have 20 fps)

    &#xA;

    I am implementing this code in difference Ubuntu PCs

    &#xA;

      &#xA;
    • Python 3.8.5 (default, Jul 28 2020, 12:59:40) [GCC 9.3.0] on linux
    • &#xA;

    • Django==3.1.2
    • &#xA;

    • Ubuntu = 18.04 and 20.04
    • &#xA;

    • opencv-contrib-python==4.4.0.46
    • &#xA;

    • opencv-python==4.4.0.46
    • &#xA;

    &#xA;

    input_stream = &#x27;rtsp://&#x27;&#x2B;username&#x2B;&#x27;:&#x27;&#x2B;password&#x2B;&#x27;@&#x27;&#x2B;ip&#x2B;&#x27;/user=&#x27;&#x2B;username&#x2B;&#x27;_password=&#x27;&#x2B;password&#x2B;&#x27;_channel=0channel_number_stream=0.sdp&#x27;&#xA;input_stream---> rtsp://admin:Admin123@192.168.1.208/user=admin_password=Admin123_channel=0channel_number_stream=0.sdp&#xA;&#xA;input_stream---> rtsp://Admin:@192.168.1.209/user=Admin_password=_channel=0channel_number_stream=0.sdp&#xA;&#xA;vs = cv2.VideoCapture(input_stream)&#xA;fps_rate = int(vs.get(cv2.CAP_PROP_FPS))&#xA;I have two IP camera which have two diffrent fps_rate(Camera 1 have 18000 and camera 2 have 20 fps)&#xA;&#xA;video_file_name = 0&#xA;start_time = time.time()&#xA;while(True):&#xA;    ret, frame = vs.read()&#xA;    time.sleep(0.2)     # &lt;= Simulate processing time (mask detection, face detection and many detection is hapning)&#xA;&#xA;&#xA;    ###  Start of  writing a video to disk          &#xA;    minute = 5  ## saving a file for 5 minute only then saving another file for 5 min&#xA;    second  = 60&#xA;    minite_to_save_video = int(minute) * int(second)&#xA;&#xA;&#xA;    # if we are supposed to be writing a video to disk, initialize&#xA;    if time.time() - start_time >= minite_to_save_video or  video_file_name == 0 :&#xA;        ## where H = heigth, W = width, C = channel &#xA;        H, W, C = frame.shape&#xA;        &#xA;        print(&#x27;time.time()-->&#x27;,time.time(),&#x27;video_file_name-->&#x27;, video_file_name,  &#x27; #####&#x27;)&#xA;        start_time = time.time()&#xA;&#xA;        video_file_name = str(time.mktime(datetime.datetime.now().timetuple())).replace(&#x27;.0&#x27;, &#x27;&#x27;)&#xA;        output_save_directory = output_stream&#x2B;str(int(video_file_name))&#x2B;&#x27;.mp4&#x27;&#xA;&#xA;&#xA;        fourcc = cv2.VideoWriter_fourcc(*&#x27;avc1&#x27;)&#xA;        &#xA;        writer = cv2.VideoWriter(output_save_directory, fourcc,20.0,(W, H), True)&#xA;&#xA;    # check to see if we should write the frame to disk&#xA;    if writer is not None:&#xA;        &#xA;        try:&#xA;            writer.write(frame)&#xA;&#xA;        except Exception as e:&#xA;            print(&#x27;Error in writing video output---> &#x27;, e)&#xA;

    &#xA;