Recherche avancée

Médias (91)

Autres articles (3)

  • MediaSPIP Player : les contrôles

    26 mai 2010, par

    Les contrôles à la souris du lecteur
    En plus des actions au click sur les boutons visibles de l’interface du lecteur, il est également possible d’effectuer d’autres actions grâce à la souris : Click : en cliquant sur la vidéo ou sur le logo du son, celui ci se mettra en lecture ou en pause en fonction de son état actuel ; Molette (roulement) : en plaçant la souris sur l’espace utilisé par le média (hover), la molette de la souris n’exerce plus l’effet habituel de scroll de la page, mais diminue ou (...)

  • Contribute to documentation

    13 avril 2011

    Documentation is vital to the development of improved technical capabilities.
    MediaSPIP welcomes documentation by users as well as developers - including : critique of existing features and functions articles contributed by developers, administrators, content producers and editors screenshots to illustrate the above translations of existing documentation into other languages
    To contribute, register to the project users’ mailing (...)

  • Participer à sa documentation

    10 avril 2011

    La documentation est un des travaux les plus importants et les plus contraignants lors de la réalisation d’un outil technique.
    Tout apport extérieur à ce sujet est primordial : la critique de l’existant ; la participation à la rédaction d’articles orientés : utilisateur (administrateur de MediaSPIP ou simplement producteur de contenu) ; développeur ; la création de screencasts d’explication ; la traduction de la documentation dans une nouvelle langue ;
    Pour ce faire, vous pouvez vous inscrire sur (...)

Sur d’autres sites (3147)

  • Combine multiple videos into one

    10 janvier 2012, par StackedCrooked

    I have three videos :

    • a lecture that was filmed with a video camera
    • a video of the desktop capture of the computer used in the lecture
    • and the video of the whiteboard

    I want to create a final video with those three components taking up a certain region of the screen.

    Is open-source software that would allow me to do this (mencoder, ffmpeg, virtualdub..) ? Which do you recommend ?

    Or is there a C/C++ API that would enable me to create something like that programmatically ?

    Edit
    There will be multiple recorded lectures in the future. This means that I need a generic/automated solution.

    I'm currently checking out if I could write an application with GStreamer to do this job. Any comments on that ?

    Solved !
    I succeeded in doing this with GStreamer's videomixer element. I use the gst-launch syntax to create a pipeline and then load it with gst_parse_launch. It's a really productive way to implement complex pipelines.

    Here's a pipeline that takes two incoming video streams and a logo image, blends them into one stream and the duplicates it so that it simultaneously displayed and saved to disk.

     desktop. ! queue
              ! ffmpegcolorspace
              ! videoscale
              ! video/x-raw-yuv,width=640,height=480
              ! videobox right=-320
              ! ffmpegcolorspace
              ! vmix.sink_0
     webcam. ! queue
             ! ffmpegcolorspace
             ! videoscale
             ! video/x-raw-yuv,width=320,height=240
             ! vmix.sink_1
     logo. ! queue
           ! jpegdec
           ! ffmpegcolorspace
           ! videoscale
           ! video/x-raw-yuv,width=320,height=240
           ! vmix.sink_2
     vmix. ! t.
     t. ! queue
        ! ffmpegcolorspace
        ! ffenc_mpeg2video
        ! filesink location="recording.mpg"
     t. ! queue
        ! ffmpegcolorspace
        ! dshowvideosink
     videotestsrc name="desktop"
     videotestsrc name="webcam"
     multifilesrc name="logo" location="logo.jpg"
     videomixer name=vmix
                sink_0::xpos=0 sink_0::ypos=0 sink_0::zorder=0
                sink_1::xpos=640 sink_1::ypos=0 sink_1::zorder=1
                sink_2::xpos=640 sink_2::ypos=240 sink_2::zorder=2
     tee name="t"
  • avformat_close_input memory leak ?

    20 janvier 2021, par Keen Jackdaw

    I developed an app to push live stream with ffmpeg. When I checked the app with leaks --atExit -- <the app="app"></the> (I'm on mac), I found some memory leak with AVFormatContext.

    &#xA;

    The minimized code are provided below :

    &#xA;

    #include <iostream>&#xA;&#xA;extern "C" {&#xA;#include <libavcodec></libavcodec>avcodec.h>&#xA;#include <libavformat></libavformat>avformat.h>&#xA;#include <libavdevice></libavdevice>avdevice.h>&#xA;}&#xA;&#xA;void foo() {&#xA;    avdevice_register_all();&#xA;&#xA;    AVFormatContext *avInputFormatContext = avformat_alloc_context();&#xA;    AVInputFormat *avInputFormat = av_find_input_format("avfoundation");&#xA;    std::cout &lt;&lt; "open input" &lt;&lt; std::endl;&#xA;    int ret = avformat_open_input(&amp;avInputFormatContext, "Capture screen 0", avInputFormat, nullptr);&#xA;    if (ret &lt; 0) { std::cout &lt;&lt; "open input failed: " &lt;&lt; ret &lt;&lt; std::endl; return;}&#xA;&#xA;    avformat_close_input(&amp;avInputFormatContext);&#xA;&#xA;}&#xA;&#xA;int main() {&#xA;    foo();&#xA;    return 0;&#xA;}&#xA;&#xA;</iostream>

    &#xA;

    The output is

    &#xA;

    Process:         ffmpegtest [87726]&#xA;Path:            /Users/USER/*/ffmpegtest&#xA;Load Address:    0x10a752000&#xA;Identifier:      ffmpegtest&#xA;Version:         ???&#xA;Code Type:       X86-64&#xA;Platform:        macOS&#xA;Parent Process:  leaks [87725]&#xA;&#xA;Date/Time:       2021-01-20 15:44:57.533 &#x2B;0800&#xA;Launch Time:     2021-01-20 15:44:55.760 &#x2B;0800&#xA;OS Version:      macOS 11.1 (20C69)&#xA;Report Version:  7&#xA;Analysis Tool:   /Applications/Xcode.app/Contents/Developer/usr/bin/leaks&#xA;Analysis Tool Version:  Xcode 12.3 (12C33)&#xA;&#xA;Physical footprint:         9.9M&#xA;Physical footprint (peak):  10.6M&#xA;----&#xA;&#xA;leaks Report Version: 4.0&#xA;Process 87726: 14143 nodes malloced for 2638 KB&#xA;Process 87726: 1 leak for 32 total leaked bytes.&#xA;&#xA;    1 (32 bytes) ROOT LEAK: 0x7f8c61e1b040 [32]  length: 16  "Capture screen 0"&#xA;

    &#xA;

    Did I miss something ?

    &#xA;

  • VeriSilicon and WebM Support

    24 janvier 2011, par noreply@blogger.com (John Luther)

    Guest blogger Tomi Jalonen is Director of Product Marketing for Hantro video IP at VeriSilicon

    2011 is shaping up to be an exciting year at VeriSilicon Holdings in terms of WebM support. With the new year upon us, I want to share some updates about the work we are doing at VeriSilicon to move the WebM platform forward.

    VeriSilicon has been a longtime partner of On2/Hantro (Hantro is the video IP brand that Google acquired with On2 Technologies) and we were among the first hardware partners to commit to WebM video when the codec was open-sourced last year. After promoting WebM to the semiconductor industry during 2010, we’re excited that at CES 2011 the first tablet supporting WebM with full 1080p resolution was demonstrated. VeriSilicon licensed the WebM IP to this tablet manufacturer and provided engineering support to bring the technology to the showroom floor.

    In addition to licensing IPs, this year we’ll be taking the WebM experience a step further by taping out several application processor chips—including the WebM video IP for Android phones, xPad, and Google TV—to accelerate the deployment of WebM and HTML5 video playback into the market.

    The entire VeriSilicon team is very excited about the future of WebM. We believe that the availability of high-quality, optimized WebM hardware video IP, combined with other VeriSilicon audio and multimedia IP, will be a key ingredient for semiconductor companies to create competitive consumer products. After the launch of WebM, the interest in hardware-accelerated WebM video has been immense and we will continue working with the WebM Project to enable WebM and VP8 in many more chips in 2011.