Recherche avancée

Médias (91)

Autres articles (53)

  • Les vidéos

    21 avril 2011, par

    Comme les documents de type "audio", Mediaspip affiche dans la mesure du possible les vidéos grâce à la balise html5 .
    Un des inconvénients de cette balise est qu’elle n’est pas reconnue correctement par certains navigateurs (Internet Explorer pour ne pas le nommer) et que chaque navigateur ne gère en natif que certains formats de vidéos.
    Son avantage principal quant à lui est de bénéficier de la prise en charge native de vidéos dans les navigateur et donc de se passer de l’utilisation de Flash et (...)

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

  • Possibilité de déploiement en ferme

    12 avril 2011, par

    MediaSPIP peut être installé comme une ferme, avec un seul "noyau" hébergé sur un serveur dédié et utilisé par une multitude de sites différents.
    Cela permet, par exemple : de pouvoir partager les frais de mise en œuvre entre plusieurs projets / individus ; de pouvoir déployer rapidement une multitude de sites uniques ; d’éviter d’avoir à mettre l’ensemble des créations dans un fourre-tout numérique comme c’est le cas pour les grandes plate-formes tout public disséminées sur le (...)

Sur d’autres sites (10600)

  • FFMpeg sws_scale Static and Shared Huge Performance Difference

    6 novembre 2018, par Ali

    I used swscale in my code as a shared library then managed to compile FFMpeg (4.1) to static libraries with Visual Studio with this command just to get swscale :

    ./configure --toolchain=msvc --arch=x86_32 --disable-everything --disable-programs

    I have nasm and yasm installed. this my config output :

    install prefix            /usr/local
    source path               .
    C compiler                cl
    C library                 msvcrt
    ARCH                      x86 (generic)
    big-endian                no
    runtime cpu detection     yes
    standalone assembly       yes
    x86 assembler             nasm
    MMX enabled               yes
    MMXEXT enabled            yes
    3DNow! enabled            yes
    3DNow! extended enabled   yes
    SSE enabled               yes
    SSSE3 enabled             yes
    AESNI enabled             yes
    AVX enabled               yes
    AVX2 enabled              yes
    AVX-512 enabled           yes
    XOP enabled               yes
    FMA3 enabled              yes
    FMA4 enabled              yes
    i686 features enabled     yes
    CMOV is fast              no
    EBX available             no
    EBP available             no
    debug symbols             yes
    strip symbols             no
    optimize for size         no
    optimizations             yes
    static                    yes
    shared                    no
    postprocessing support    no
    network support           yes
    threading support         w32threads
    safe bitstream reader     yes
    texi2html enabled         no
    perl enabled              no
    pod2man enabled           no
    makeinfo enabled          no
    makeinfo supports HTML    no

    External libraries:
    schannel

    External libraries providing hardware acceleration:
    d3d11va                    dxva2

    Libraries:
    avcodec                    avdevice                   avfilter                   avformat                   avutil                     swresample                 swscale

    Programs:
    Enabled decoders:
    Enabled encoders:
    Enabled hwaccels:
    Enabled parsers:
    Enabled demuxers:
    Enabled muxers:
    Enabled protocols:
    Enabled filters:
    Enabled bsfs:
    null
    Enabled indevs:
    Enabled outdevs:

    This compiled successfully and I replaced the lib files with .a file in QT :

    INCLUDEPATH += $$PWD/ffmpeg/inc/
    LIBS += $$files($$PWD/ffmpeg/lib/*.a, true)

    I didn’t change anything else. EXE works correctly without dependency but problem is static swscale is so much slower than the shared one. For 1080p share .DLL takes 2ms to shrink and convert yuv to rgb and static .A takes 6ms to

    I also tried removing --disable-everything --disable-programs but still the same. I want to know if it’s because of the cl compiler or I missed a library or a setting ?

    BTW this my system : Win10/i7 4820K/16GB/GTX970

    EDIT :

    I got this in app output :
    No accelerated colorspace conversion found from yuv420p to bgra.
    Although x86 folder in swscale is compiled, it seems it’s not linked in the output.

  • How to split video into parts audio/video/text in one command ?

    22 novembre 2020, par lockwise

    I have one video file .mkv.
Inside this file, there is a video track, 3 audio tracks, 2 subtitles, a poster file, and a backdrop file.
Does ffmpeg know how to split .mkv into separate parts, video / 3 audio / 2 subtitles ?

    


    ~# ffmpeg -hide_banner -i input.mkv
Input #0, matroska,webm, from 'input.mkv':
  Duration: 01:37:03.90, start: 0.000000, bitrate: 3605 kb/s
    Metadata:
      title           : 01:33:51.582
    Stream #0:0(eng): Video: h264 (High), yuv420p(tv, bt709, progressive), 1024x576 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
    Metadata:
      title           : Video
    Stream #0:1(rus): Audio: ac3, 48000 Hz, 5.1(side), fltp, 448 kb/s (default)
    Metadata:
      title           : MVO «West Video»
    Stream #0:2(spa): Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
    Metadata:
      title           : MVO Spain-1
    Stream #0:3(eng): Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
    Metadata:
      title           : MVO TRK
    Stream #0:4(eng): Subtitle: subrip (default)
    Metadata:
      title           : RUS
    Stream #0:5(eng): Subtitle: subrip
    Metadata:
      title           : Eng
    Stream #0:6(und): Video: mjpeg (Progressive), yuvj420p(pc, bt470bg/unknown/unknown), 780x1170 [SAR 1:1 DAR 2:3], 90k tbr, 90k tbn, 90k tbc (attached pic)
    Metadata:
      filename        : poster.jpg
      mimetype        : image/jpeg
      title           : poster
      LANGUAGE        : und
    Stream #0:7(und): Video: mjpeg (Progressive), yuvj420p(pc, bt470bg/unknown/unknown), 1280x719 [SAR 1:1 DAR 1280:719], 90k tbr, 90k tbn, 90k tbc (attached pic)
    Metadata:
      filename        : backdrop.jpg
      mimetype        : image/jpeg
      title           : backdrop
      LANGUAGE        : und


    


    I need :

    


      

    • Video

        

      • input0.mp4
      • 


      


    • 


    • Audio

        

      • input0.m4a
      • 


      • input1.m4a
      • 


      • input2.m4a
      • 


      


    • 


    • Subtitle

        

      • input0.vtt
      • 


      • input1.vtt
      • 


      


    • 


    


    These commands do the splitting, but I need to know exactly how many audio files and how many subtitle files are in the mkv.

    


    ffmpeg -y -i input.mkv \
  -map 0:v:0 -c:v libx264 output0.mp4


    


    ffmpeg -y -i input.mkv \
  -map 0:a:0 -c:a aac output0.m4a \
  -map 0:a:1 -c:a aac output1.m4a \
  -map 0:a:2 -c:a aac output2.m4a


    


    ffmpeg -y -i input.mkv \
  -map 0:s:0 output0.vtt \
  -map 0:s:1 output1.vtt


    


    Is it possible to make such divisions without knowing the file number 0:a:2, 0:s:1 ?

    


  • Why process output reader returns null data ? When same code in other process works correct

    26 août 2019, par Владимир Водов

    I try to get output from ffmpeg process but cant get output.
    In another processes and commands it works correctly but output returns immideately when start !

           using (var process = new Process())
           {
               process.StartInfo = new ProcessStartInfo()
               {
                   FileName = LinkHelper.IPFS_PATH,
                   Arguments = cmd,
                   UseShellExecute = false,
                   CreateNoWindow = true,
                   RedirectStandardOutput = true
               };

               process.ErrorDataReceived += FfmpegErrorRecieved;
               process.Start();

               using (StreamReader reader = process.StandardOutput)
               {
                   string output = await reader.ReadToEndAsync();
                   Console.WriteLine(output);
               }              
               process.WaitForExit();
           }

    Before output handle !

    Update :
    As szatmary said ffmpeg use output error instead standard output, so when you initialize process.StandartInfo don’t forget initialize property "RedirectStandardError" to TRUE !

    Here is correct code :

    private async Task DetectFFmpegCamerasAsync()
       {
           var cmd = "-list_devices true -f dshow -i dummy";
           using (var process = new Process())
           {
               process.StartInfo = new ProcessStartInfo()
               {
                   FileName = LinkHelper.FFMPEG_PATH,
                   Arguments = cmd,
                   UseShellExecute = false,
                   CreateNoWindow = true,
                   RedirectStandardError = true
               };

               process.Start();

               using (StreamReader reader = process.StandardError)
               {
                   string output = await reader.ReadToEndAsync();
                   Console.WriteLine($"Camera detection output: \n {output}");
               }              
               process.WaitForExit();
           }
       }