Recherche avancée

Médias (91)

Autres articles (97)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

  • ANNEXE : Les plugins utilisés spécifiquement pour la ferme

    5 mars 2010, par

    Le site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)

Sur d’autres sites (8824)

  • How to parallelize this for loop for rapidly converting YUV422 to RGB888 ?

    16 avril 2015, par vineet

    I am using v4l2 api to grab images from a Microsoft Lifecam and then transferring these images over TCP to a remote computer. I am also encoding the video frames into a MPEG2VIDEO using ffmpeg API. These recorded videos play too fast which is probably because not enough frames have been captured and due to incorrect FPS settings.

    The following is the code which converts a YUV422 source to a RGB888 image. This code fragment is the bottleneck in my code as it takes nearly 100 - 150 ms to execute which means I can’t log more than 6 - 10 FPS at 1280 x 720 resolution. The CPU usage is 100% as well.

    for (int line = 0; line < image_height; line++) {
       for (int column = 0; column < image_width; column++) {
           *dst++ = CLAMP((double)*py + 1.402*((double)*pv - 128.0));                                                  // R - first byte          
           *dst++ = CLAMP((double)*py - 0.344*((double)*pu - 128.0) - 0.714*((double)*pv - 128.0));    // G - next byte
           *dst++ = CLAMP((double)*py + 1.772*((double)*pu - 128.0));                                                            // B - next byte

           vid_frame->data[0][line * frame->linesize[0] + column] = *py;

           // increment py, pu, pv here

       }

    ’dst’ is then compressed as jpeg and sent over TCP and ’vid_frame’ is saved to the disk.

    How can I make this code fragment faster so that I can get atleast 30 FPS at 1280x720 resolution as compared to the present 5-6 FPS ?

    I’ve tried parallelizing the for loop across three threads using p_thread, processing one third of the rows in each thread.

    for (int line = 0; line < image_height/3; line++) // thread 1
    for (int line = image_height/3; line < 2*image_height/3; line++) // thread 2
    for (int line = 2*image_height/3; line < image_height; line++) // thread 3

    This gave me only a minor improvement of 20-30 milliseconds per frame.
    What would be the best way to parallelize such loops ? Can I use GPU computing or something like OpenMP ? Say spwaning some 100 threads to do the calculations ?

    I also noticed higher frame rates with my laptop webcam as compared to the Microsoft USB Lifecam.

    Here are other details :

    • Ubuntu 12.04, ffmpeg 2.6
    • AMG-A8 quad core processor with 6GB RAM
    • Encoder settings :
      • codec : AV_CODEC_ID_MPEG2VIDEO
      • bitrate : 4000000
      • time_base : (AVRational)1, 20
      • pix_fmt : AV_PIX_FMT_YUV420P
      • gop : 10
      • max_b_frames : 1
  • [C++][Linux + ffmpeg + h264 + rtsp + client] and [Window + ffmpeg + play video real time + server]

    21 avril 2015, par QuestionGuy

    I have a problem with ffmpeg and I don’t know how to continue. I have 2 computers :

    Client :

    • Run Ubuntu 14.04
    • FFmpeg installed
    • Use c++ language
    • Features : use ffmpeg to encode h264 video data from webcam of client laptop, then real time streaming to server

    Server :

    • Running Windows 7
    • FFmpeg installed
    • Use c++ language (MFC)
    • Features : Get real time data from client and show it on screen.

    I’ve just connected client to server and they can chat text data together, and I don’t have any idea to make real time video work.

    And my questions are :

    1. [Client] How to get video from webcam on laptop (using ffmpeg code), save it to buffer (raw data), encode it and send to server ?

      I use ffmpeg to get video from wc but it save to file. I really don’t want it. Code is :

      ffmpeg -f v4l2 -framerate 25 -video_size 640x480 -i /dev/video0 output.mkv
    2. [Client] How to get raw data from client, decode it and play it ?

      I have an idea to play it by using directshow in MFC.

  • Screen recording with ffmpeg has stuttering [closed]

    7 novembre 2024, par Adam Labuš

    I am recording with ffmpeg like so : ffmpeg -f x11grab -probesize 18M -framerate 30 -video_size 1920x1080 -i :0.0+0,0 -f pulse -i  -c:v libx264 -preset ultrafast -c:a aac .mkv

    


    Problem :

    


    Usually at the start the video starts to stutter, sometimes stuttering up to 20 seconds, each frame during this stuttering is shown for 1-5 seconds. Example video : https://drive.google.com/file/d/1uwdaFboCO2qNALgaPC8JD15W64BE3VyY/view?usp=sharing

    


    Diagnostics :

    


    Machine details :

    


    OS: Fedora Linux 41 (Server Edition) x86_64
Host: HP ProDesk 600 G2 DM
Kernel: Linux 6.11.5-300.fc41.x86_64
WM: Openbox (X11)
CPU: Intel(R) Core(TM) i5-6500T (4) @ 3.10 GHz
GPU: Intel HD Graphics 530 @ 1.10 GHz [Integrated]
Memory: 884.62 MiB / 15.49 GiB (6%)
Swap: 0 B / 8.00 GiB (0%)
Disk (/): 5.45 GiB / 14.94 GiB (37%) - xfs


    


    My gpu(20%), cpu (50%), disk utilisation is always in well perfect range - I tried stress testing gpu, ram, cpu and disk while recording and it had no effect on the recording. I tried recording to ramdisk. I always have 10gb ram available. I ran the same command on my laptop (hp 850 g5) and computer and encountered no stuttering at all.

    


    If it matters the machine is running bare Xorg and openbox display manager

    


    I have tried :

    


      

    • setting fps_mode to cfr - because the frame rate does fluctuate around 29-30 at the start
    • 


    • setting fps_mode to vfr
    • 


    • setting fps_mode to passthrough
    • 


    • setting cfr all the way to 40
    • 


    • presets veryfast, faster
    • 


    • increasing thread_queue_size
    • 


    • async=1
    • 


    


    Ffmpeg Log :

    


    ffmpeg version 7.0.2 Copyright (c) 2000-2024 the FFmpeg developers                                                                                                                                                                                                              
  built with gcc 14 (GCC)                                                                                                                                                                                                                                                       
  configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --docdir=/usr/share/doc/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-swi
tches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 
-mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer' --extra-ldflags='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/re
dhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' --extra-cflags=' -I/usr/include/rav1e' --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-version3 --enable-bzlib --enable-chromaprint --enable-fontcon
fig --enable-frei0r --enable-gcrypt --enable-gnutls --enable-ladspa --enable-lcms2 --enable-libaom --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libass --enable-libbluray --enable-libbs2b --enable-libcodec2 --enable-libcdio --enable-libdrm --enabl
e-libjack --enable-libjxl --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libharfbuzz --enable-libilbc --enable-libmp3lame --enable-libmysofa --enable-nvenc --enable-openal --enable-opencl --enable-opengl --enable-libopenh264 --enable-libopenjpeg --enabl
e-libopenmpt --enable-libopus --enable-libpulse --enable-libplacebo --enable-librsvg --enable-librav1e --enable-librubberband --enable-libqrencode --enable-libsmbclient --enable-version3 --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh
 --enable-libsvtav1 --enable-libtesseract --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-version3 --enable-vapoursynth --enable-libvpx --enable-vulkan --enable-libshaderc --enable-libwebp --enable-l
ibx264 --enable-libx265 --enable-libxvid --enable-libxml2 --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-avfilter --enable-libmodplug --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-strip
ping --shlibdir=/usr/lib64 --enable-lto --enable-libvpl --enable-runtime-cpudetect                                                                                                                                                                                              
  libavutil      59.  8.100 / 59.  8.100                                                                                                                                                                                                                                        
  libavcodec     61.  3.100 / 61.  3.100                                                                                                                                                                                                                                        
  libavformat    61.  1.100 / 61.  1.100                                                                                                                                                                                                                                        
  libavdevice    61.  1.100 / 61.  1.100                                                                                                                                                                                                                                        
  libavfilter    10.  1.100 / 10.  1.100                                                                                                                                                                                                                                        
  libswscale      8.  1.100 /  8.  1.100                                                                                                                                                                                                                                        
  libswresample   5.  1.100 /  5.  1.100                                                                                                                                                                                                                                        
  libpostproc    58.  1.100 / 58.  1.100                                                                                                                                                                                                                                        
Input #0, x11grab, from ':0.0+0,0':                                                                                                                                                                                                                                             
  Duration: N/A, start: 1730923728.417205, bitrate: 1990656 kb/s                                                                                                                                                                                                                
  Stream #0:0: Video: rawvideo (BGR[0] / 0x524742), bgr0, 1920x1080, 1990656 kb/s, 30 fps, 29.92 tbr, 1000k tbn                                                                                                                                                                 
[aist#1:0/pcm_s16le @ 0x55a29c634a40] Guessed Channel Layout: stereo                                                                                                                                                                                                            
Input #1, pulse, from 'auto_null.monitor':                                                                                                                                                                                                                                      
  Duration: N/A, start: 1730923728.521148, bitrate: 1536 kb/s                                                                                                                                                                                                                   
  Stream #1:0: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s                                                                                                                                                                                                               
Stream mapping:                                                                                                                                                                                                                                                                 
  Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264))                                                                                                                                                                                                                     
  Stream #1:0 -> #0:1 (pcm_s16le (native) -> aac (native))                                                                                                                                                                                                                      
Press [q] to stop, [?] for help                                                                                                                                                                                                                                                 
[libx264 @ 0x55a29c627f00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2                                                                                                                                                                                
[libx264 @ 0x55a29c627f00] profile High 4:4:4 Predictive, level 4.0, 4:4:4, 8-bit                                                                                                                                                                                               
[libx264 @ 0x55a29c627f00] 264 - core 164 r3108 31e19f9 - H.264/MPEG-4 AVC codec - Copyleft 2003-2023 - 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 tre
llis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=4 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, matroska, to '/tmp/tmp38n41uwz.mkv':                                                                                                                                                                                                                                 
  Metadata:                                                                                                                                                                                                                                                                     
    encoder         : Lavf61.1.100                                                                                                                                                                                                                                              
  Stream #0:0: Video: h264 (H264 / 0x34363248), yuv444p(progressive), 1920x1080, q=2-31, 29.92 fps, 1k tbn                                                                                                                                                                      
      Metadata:                                                                                                       
        encoder         : Lavc61.3.100 libx264                                                                        
      Side data:                                                                                                      
        cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A                                                 
  Stream #0:1: Audio: aac (LC) ([255][0][0][0] / 0x00FF), 48000 Hz, stereo, fltp, 128 kb/s                            
      Metadata:                                                                                                       
        encoder         : Lavc61.3.100 aac                                                                            
frame=  915 fps= 24 q=29.0 size=    7936KiB time=00:00:35.79 bitrate=1816.0kbits/s dup=0 drop=167 speed=0.929x        
                                                                                                                      
[q] command received. Exiting.