Recherche avancée

Médias (91)

Autres articles (47)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

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

  • Création définitive du canal

    12 mars 2010, par

    Lorsque votre demande est validée, vous pouvez alors procéder à la création proprement dite du canal. Chaque canal est un site à part entière placé sous votre responsabilité. Les administrateurs de la plateforme n’y ont aucun accès.
    A la validation, vous recevez un email vous invitant donc à créer votre canal.
    Pour ce faire il vous suffit de vous rendre à son adresse, dans notre exemple "http://votre_sous_domaine.mediaspip.net".
    A ce moment là un mot de passe vous est demandé, il vous suffit d’y (...)

Sur d’autres sites (7469)

  • xdotool to tab to a button on a web page and use the mouse to disable a drop down menu option

    25 juin 2023, par Mash

    I have a Bash script that open a Amazon chime meeting URL in firefox, uses XDOtool to enter a meetig participant name, and tab and mouse click functions. and next uses ffmpeg to stream the video and audio output of the Amazon chime meeting to an RTMP destination.

    


    When this is streamed, the Amazon chime web app has "More" drop down Menu. Within the Menu it has a option to disable the self view. I want to add xdotool commands to disable this self view option from the more drop down menu on the amazon chime web app page.

    


    the Amazon chime meeting URL is - https://app.chime.aws/meetings/

    


    Here is the Bash Script

    


    #!/bin/bash&#xA;BROWSER_URL=${MEETING_URL}&#xA;SCREEN_WIDTH=1920&#xA;SCREEN_HEIGHT=1080&#xA;SCREEN_RESOLUTION=${SCREEN_WIDTH}x${SCREEN_HEIGHT}&#xA;CAPTURE_SCREEN_RESOLUTION=1920x1080&#xA;COLOR_DEPTH=24&#xA;X_SERVER_NUM=2&#xA;VIDEO_BITRATE=6000&#xA;VIDEO_FRAMERATE=30&#xA;VIDEO_GOP=$((VIDEO_FRAMERATE * 2))&#xA;AUDIO_BITRATE=160k&#xA;AUDIO_SAMPLERATE=44100&#xA;AUDIO_CHANNELS=2&#xA;&#xA;# Start PulseAudio server so Firefox will have somewhere to which to send audio&#xA;pulseaudio -D --exit-idle-time=-1&#xA;pacmd load-module module-virtual-sink sink_name=v1  # Load a virtual sink as `v1`&#xA;pacmd set-default-sink v1  # Set the `v1` as the default sink device&#xA;pacmd set-default-source v1.monitor  # Set the monitor of the v1 sink to be the default source&#xA;&#xA;# Start X11 virtual framebuffer so Firefox will have somewhere to draw&#xA;Xvfb :${X_SERVER_NUM} -ac -screen 0 ${SCREEN_RESOLUTION}x${COLOR_DEPTH} > /dev/null 2>&amp;1 &amp;&#xA;export DISPLAY=:${X_SERVER_NUM}.0&#xA;sleep 0.5  # Ensure this has started before moving on&#xA;&#xA;# Create a new Firefox profile for capturing preferences for this&#xA;firefox --no-remote --new-instance --createprofile "foo4 /tmp/foo4"&#xA;&#xA;# Install the OpenH264 plugin for Firefox&#xA;mkdir -p /tmp/foo4/gmp-gmpopenh264/1.8.1.1/&#xA;pushd /tmp/foo4/gmp-gmpopenh264/1.8.1.1 >&amp; /dev/null&#xA;curl -s -O http://ciscobinary.openh264.org/openh264-linux64-2e1774ab6dc6c43debb0b5b628bdf122a391d521.zip&#xA;unzip openh264-linux64-2e1774ab6dc6c43debb0b5b628bdf122a391d521.zip&#xA;rm -f openh264-linux64-2e1774ab6dc6c43debb0b5b628bdf122a391d521.zip&#xA;popd >&amp; /dev/null&#xA;&#xA;# Set the Firefox preferences to enable automatic media playing with no user&#xA;# interaction and the use of the OpenH264 plugin.&#xA;cat &lt;<eof>> /tmp/foo4/prefs.js&#xA;user_pref("media.autoplay.default", 0);&#xA;user_pref("media.autoplay.enabled.user-gestures-needed", false);&#xA;user_pref("media.navigator.permission.disabled", true);&#xA;user_pref("media.gmp-gmpopenh264.abi", "x86_64-gcc3");&#xA;user_pref("media.gmp-gmpopenh264.lastUpdate", 1571534329);&#xA;user_pref("media.gmp-gmpopenh264.version", "1.8.1.1");&#xA;user_pref("doh-rollout.doorhanger-shown", true);&#xA;EOF&#xA;&#xA;# Start Firefox browser and point it at the URL we want to capture&#xA;#&#xA;# NB: The `--width` and `--height` arguments have to be very early in the&#xA;# argument list or else only a white screen will result in the capture for some&#xA;# reason.&#xA;firefox \&#xA;  -P foo4 \&#xA;  --width ${SCREEN_WIDTH} \&#xA;  --height ${SCREEN_HEIGHT} \&#xA;  --new-instance \&#xA;  --first-startup \&#xA;  --foreground \&#xA;  --kiosk \&#xA;  --ssb \&#xA;  "${BROWSER_URL}" \&#xA;  &amp;&#xA;sleep 10  # Ensure this has started before moving on, waiting for loading the Chime web app&#xA;xdotool key Return #Select yes for the pop-up window of "Would you like to open this link with Chime app?"&#xA;sleep 3&#xA;xdotool key Escape #Close the pop-up window&#xA;sleep 3&#xA;xdotool type Livestream #Type "Livestream" on the name input field&#xA;sleep 3&#xA;xdotool key Tab #Move to "join the meeting" button&#xA;sleep 3&#xA;xdotool key Return #Click "join the meeting" button&#xA;sleep 3&#xA;xdotool key Return #Close the pop-up window once again&#xA;sleep 3&#xA;xdotool key Escape #Close the pop-up window once again&#xA;sleep 3&#xA;xdotool key Return #Click "Use system audio" setting&#xA;sleep 3&#xA;xdotool key Escape #Close warning message&#xA;sleep 3&#xA;xdotool mousemove 1 1 click 1  # Move mouse out of the way so it doesn&#x27;t trigger the "pause" overlay on the video tile  &#xA;&#xA;# Start ffmpeg to transcode the capture from the X11 framebuffer and the&#xA;# PulseAudio virtual sound device we created earlier and send that to the RTMP&#xA;# endpoint in H.264/AAC format using a FLV container format.&#xA;#&#xA;# NB: These arguments have a very specific order. Seemingly inocuous changes in&#xA;# argument order can have pretty drastic effects, so be careful when&#xA;# adding/removing/reordering arguments here.&#xA;ffmpeg \&#xA;  -hide_banner -loglevel error \&#xA;  -nostdin \&#xA;  -s ${CAPTURE_SCREEN_RESOLUTION} \&#xA;  -r ${VIDEO_FRAMERATE} \&#xA;  -draw_mouse 0 \&#xA;  -f x11grab \&#xA;    -i ${DISPLAY} \&#xA;  -f pulse \&#xA;    -ac 2 \&#xA;    -i default \&#xA;    -vf "crop=1600:980:0:1080" \&#xA;  -c:v libx264 \&#xA;    -pix_fmt yuv420p \&#xA;    -profile:v main \&#xA;    -preset slow \&#xA;    -x264opts "nal-hrd=cbr:no-scenecut" \&#xA;    -minrate ${VIDEO_BITRATE} \&#xA;    -maxrate ${VIDEO_BITRATE} \&#xA;    -g ${VIDEO_GOP} \&#xA;  -filter_complex "aresample=async=1000:min_hard_comp=0.100000:first_pts=1" \&#xA;  -async 1 \&#xA;  -c:a aac \&#xA;    -b:a ${AUDIO_BITRATE} \&#xA;    -ac ${AUDIO_CHANNELS} \&#xA;    -ar ${AUDIO_SAMPLERATE} \&#xA;  -f flv ${RTMP_URL}``&#xA;&#xA;</eof>

    &#xA;

    what i have tried so far in in the bash script

    &#xA;

  • How to set the destination folder of a Node.js fluent-ffmpeg screenshot to your AWS S3 bucket using getSignedUrl() ?

    10 juillet 2017, par Madhavi Mohoni

    I’m writing a program to generate .png thumbnails (with the same name, in the same folder) for a set of .mp4 videos in my Amazon S3 bucket. For this example, I’m going to create a /folder/file.png for a /folder/file.mp4 in the bucket. I’ve managed to set the source URL using the s3 object and getSignedUrl as follows :

    var srcurl = s3.getSignedUrl('getObject', {
           Bucket: 'bucket-name',
           Key: '/folder/file.mp4'
         });

    and

    new ffmpeg({ source: srcurl })
        .screenshots({
           count: 1,
           filename: '%f'.substr(0, '%f'.indexOf('.')) + '.png',
           /* To shorten the long string that's returned */
           folder: desturl,
           size: MAX_WIDTH + 'x' + MAX_HEIGHT
         });

    The destination URL has to be the same folder as the source. So I set it as follows :

    var desturl = s3.getSignedUrl('putObject', {
           Bucket: 'bucket-name',
           Key: '/folder/file' + '.png'
         });

    This combination doesn’t work - is there a way to do this correctly ?

  • writeImages and renaming the images using PHP

    3 mai 2015, par Kiran Kumar Dash

    I am working on a multimedia project. So, I am having a case where I am producing a sequence of images from a string input using he code below :

    &lt;?php

       /*** a new Imagick object ***/
       $aniGif = new Imagick();

       /*** set the image format to gif ***/
       $aniGif->setFormat( "gif" );

       /*** a new ImagickPixel object for the colors ***/
       $color = new ImagickPixel( "white" );

       /*** set color to white ***/
       $color->setColor( "white" );

       $colorarray =array("white", "red", "blue" , "aqua", "fuchsia", "gray", "lime", "maroon", "navy", "orange", "purple", "silver", "teal", "yellow",  "green", "maroon", "green", "olive");

       /*** the text for the image ***/
       $string = "Hello Kiran Kumar";


       /*** a new draw object ***/
       $draw = new ImagickDraw();

       /*** set the draw font to helvetica ***/
       $draw->setFont( "./SociaLAnimaL.ttf" );

       /*** set the draw font to helvetica ***/
       $draw->setFontSize( "100" );

       /*** loop over the text ***/
       for ( $i = 0; $i &lt;= strlen( $string ); $i++ )
       {
           /*** grab a character ***/
           $part = substr( $string, 0, $i );

           /*** a new ImagickPixel object for the colors ***/
           $color = new ImagickPixel( "white" );

           /*Generate random number for random color*/
           $randomNumber = rand(0,16);

           /*** create a new gif frame ***/
           $aniGif->newImage( 1920, 1200, $colorarray[$randomNumber] );

           /*** add the character to the image ***/
           $aniGif->annotateImage( $draw, 960, 600, 0, $part );

           /*** set the frame delay to 30 ***/
           $aniGif->setImageDelay( 30 );

       }
        /*** write the file ***/
           $aniGif->writeImages($directory.'kiran.jpg', $out);




       echo 'all done';

    ?>

    Now the problem is the writeimages object is generating images as kiran-0.jpg, kiran-1.jpg, kiran-2.jpg and so on. but what I am expecting is kiran001.jpg, kiran002.jpg, kiran003.jpg...and so on so that I can create a video out of it in while maintaining the sequence.Here is the code for video creation :

    &lt;?php
    $ffmpeg= "/home/kiran/bin/ffmpeg";
       echo exec("$ffmpeg -f image2 -framerate 2/1 -pattern_type glob -i \"/var/www/html/fftest/getthumbnail/tmp/animate/est/*.jpg\" -i \"/var/www/html/fftest/getthumbnail/audios/audio1.mp3\" -c:v libx264 -c:a copy -shortest  -s 1920x1080 -r 60 -vf \"format=yuv420p\" \"/var/www/html/fftest/getthumbnail/output/animatedaudiocolor21.avi\" 2>&amp;1" , $output, $return);
    ?>

    As you can see I am using -pattern type glob to select all the images, but this is getting confused with he naming sequence of kiran-0, kiran-1.

    So, what I am expecting here is how can I use writeimage object o name my images as the way mentioned above. so that I can use kiran%03d.jpg in my ffmpeg command instead of *.jpg.

    Or if any one can help me providing a code so that I can rename all the images in the expected manner.I tried the below code to rename all images :

    &lt;?php
    $fileFolder="/fftest/getthumbnail/tmp/animate/test";
    $directory = $_SERVER['DOCUMENT_ROOT'].$fileFolder.'/';

    $i = 001;
    $handler = opendir($directory);
    while ($file = readdir($handler)) {
       if ($file != "." &amp;&amp; $file != "..") {
           $newName = 'kiran'.$i ;
           rename($directory.$file, $directory.$newName); // here; prepended a $directory
           $i++;
       }
    }
    closedir($handler);

    ?>

    But the code is unable to rename the images in sequence.

    Help please...