Recherche avancée

Médias (1)

Mot : - Tags -/embed

Autres articles (98)

  • Dépôt de média et thèmes par FTP

    31 mai 2013, par

    L’outil MédiaSPIP traite aussi les média transférés par la voie FTP. Si vous préférez déposer par cette voie, récupérez les identifiants d’accès vers votre site MédiaSPIP et utilisez votre client FTP favori.
    Vous trouverez dès le départ les dossiers suivants dans votre espace FTP : config/ : dossier de configuration du site IMG/ : dossier des média déjà traités et en ligne sur le site local/ : répertoire cache du site web themes/ : les thèmes ou les feuilles de style personnalisées tmp/ : dossier de travail (...)

  • Prérequis à l’installation

    31 janvier 2010, par

    Préambule
    Cet article n’a pas pour but de détailler les installations de ces logiciels mais plutôt de donner des informations sur leur configuration spécifique.
    Avant toute chose SPIPMotion tout comme MediaSPIP est fait pour tourner sur des distributions Linux de type Debian ou dérivées (Ubuntu...). Les documentations de ce site se réfèrent donc à ces distributions. Il est également possible de l’utiliser sur d’autres distributions Linux mais aucune garantie de bon fonctionnement n’est possible.
    Il (...)

  • Other interesting software

    13 avril 2011, par

    We don’t claim to be the only ones doing what we do ... and especially not to assert claims to be the best either ... What we do, we just try to do it well and getting better ...
    The following list represents softwares that tend to be more or less as MediaSPIP or that MediaSPIP tries more or less to do the same, whatever ...
    We don’t know them, we didn’t try them, but you can take a peek.
    Videopress
    Website : http://videopress.com/
    License : GNU/GPL v2
    Source code : (...)

Sur d’autres sites (12119)

  • GStreamer H264 stream to HTML5 webpage

    28 septembre 2020, par LostInTheEcho

    I have a Linux board with a camera connected to it that is recording whatever goes on to a mp4 file(s) on the SD card of the board. I'm using gstreamer which connects to the /dev/video1 source and uses H264 encoding. I run it with a command similar to this one :

    


    gst-launch-1.0 v4l2src device=/dev/video1 ! video/x-h264,width=640,height=480,framerate=30/1 ! h264parse ! rtph264pay ! udpsink host={host} port={port}


    


    The upper part works fine and records everything locally, but I'd also like to stream this video to a HTML5 webpage, which is meant to change camera options and have a live preview.

    


    I tried using HTTP via tcpsink and HLS via hlssink, but both resulted in a 8-10 second delay, which is basically unusable. The only thing that has no delay is the UDP sink. As far as I know the only way to catch the UDP stream is by having a tool like FFMPEG in the middle, that can convert the UDP stream to MJPEG for instance and serve it to the webpage.

    


    That would probably work, but the board doesn't have a very good CPU and is already at 50% utilization. Converting stream via FFMPEG would probably push it to 100%.

    


    Is there any other way to stream to a webpage without delay ?

    


  • How to replace gdigrab with Desktop Duplication API in ffmpeg [closed]

    4 septembre 2024, par WinAx

    I use the following command to record the screen and webcam

    


    ffmpeg -f gdigrab -video_size 2560x1440 -framerate 30 -rtbufsize 1500M -thread_queue_size 512 -probesize 100M -analyzeduration 30M -i desktop -f dshow -rtbufsize 1500M -thread_queue_size 512 -probesize 100M -analyzeduration 30M -i video="camera" -f dshow -i audio="micro" -filter_complex "[1:v]crop=720:720:280:0,scale=256:256[cam];[0:v][cam]overlay=main_w-overlay_w-20:main_h-overlay_h-20;[2:a]volume=1.00[a]" -map "[a]" -c:v libx264 -preset ultrafast -c:a aac "video.mp4"


    


    In the resulting video there are occasional freezes for a few milliseconds.

    


    I know that Desktop Duplication API works much better. This command from the off-site site records video without freezing

    


    ffmpeg -filter_complex ddagrab=0,hwdownload,format=bgra -c:v libx264 -crf 20 output.mkv


    


    Can you please tell me what I need to change in my command to make screen recording work through Desktop Duplication API ?

    


  • Using ffmpeg inside C/C++ code to record a window or rectangular portion of it

    5 janvier 2016, par jster

    I’m trying to use ffmpeg within my code to record a window or a rectangular portion of that window into a video file (e.g. whole Windows Media Player window or say just the outline of the YouTube player embedded in a web page).

    The code I have records the whole screen into a video file successfully. I wanna make it record just a window (not the whole screen). I think I’m passing the right hWnd into an avformat_open_input() call (see code fragment below), but the video file comes out looking blank and black.

    When I switch to recording the whole screen again, the same code works fine. The screen is captured and the video file looks good.(the hWnd passed in is NULL).

    Testing

    I’m using Windows Media Player to play out a stored video file (screen cap here) and recording a rectangular portion of the Windows Media Player window to create the output video file. I notice that when I record a browser window, it records fine.. I’m puzzled why it doesn’t work for WMP ?!

    I’ve tried Hardcoding window handles

    I’ve used Winlister & Spy++ to look for all associated window handles associated with Windows Media Player and tried hardcoding the window handle passed into avformat_open_input(). I’ve tried all the window handles one-by-one to no avail. The video file comes out blank no matter which WMP-associated window handle I use.

    Code fragment below :-
    `

               AVDictionary* options = NULL;
               char s[128];
               AVInputFormat* ifmt = av_find_input_format("gdigrab2");
               if(ifmt == NULL){
                   break;
               }

               snprintf(s, sizeof(s), "%lu", (unsigned long)ul_FrameRate);
               av_dict_set(&options, "framerate", s, 0);

               snprintf(s, sizeof(s), "%lu", (unsigned long)ul_OffsetX);
               av_dict_set(&options, "offset_x", s, 0);

               snprintf(s, sizeof(s), "%lu", (unsigned long)ul_OffsetY);
               av_dict_set(&options, "offset_y", s, 0);

               if(ulWidth != 0 && ulHeight != 0){
                   snprintf(s, sizeof(s), "%lux%lu", (unsigned long)ulWidth, (unsigned long)ulHeight);
                   av_dict_set(&options, "video_size", s, 0);
               }

               snprintf(s, sizeof(s), "hwnd=0x%.08X", hWnd);

               if(avformat_open_input(&pVideoSource, s, ifmt, &options) < 0){
                   dprintf("failed to open video capture source\n");
                   break;
               }

    `

    What might I be doing wrong ? Any help would be appreciated. Thanks.

    PS : I must add that when the code boots up, it starts recording the whole screen.. ie. the window handle passed to the ffmpeg screen recording code is 0x00000000.

    To record a window, the code allows the user to use a rectangular selection tool to retrieve a rectangular selection from which it extracts a RECT and uses WindowFromPoint() to retrieve the Window handle, then uses ::GetAncestor(hWnd, GA_ROOTOWNER) to retrieve the owner window handle..which gets passed into avformat_open_input().

       POINT pt{r.left, r.top}; // r is a CRect.
       HWND hWnd = WindowFromPoint(pt);
       HWND hWndRoot = ::GetAncestor(hWnd, GA_ROOTOWNER);
       if (hWndRoot != NULL)
           hWnd = hWndRoot;
       // ...snip...
       // ...snip...
       // ...snip...
       snprintf(s, sizeof(s), "hwnd=0x%.08X", hWnd);
       if(avformat_open_input(&pVideoSource, s, ifmt, &options) < 0){
           dprintf("failed to open video capture source\n");
           break;
       }