Recherche avancée

Médias (1)

Mot : - Tags -/Christian Nold

Autres articles (81)

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

  • MediaSPIP version 0.1 Beta

    16 avril 2011, par

    MediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

  • Le profil des utilisateurs

    12 avril 2011, par

    Chaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
    L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...)

Sur d’autres sites (8495)

  • How do I get VLC to play back two separate input streams (Video and Audio) like MPV-Player with mpv —ytdl-format=FormatCode1+FormatCode2 URL

    29 avril 2021, par Gubbel

    so, I finally found out how to play a 1080p with 60fps smoothly on a Raspberry Py 4b or rather on a Raspberry Py 400.

    


    With the following OS installed :
Raspberry Pi OS with desktop and recommended software

    


    But I need to get from Youtube the avc1 (H.264) video stream and not the av01 (AV1) video stream.

    


    And sadly it only plays smooth, if I use the VLC-Media-Player to play back a completely downloaded file.

    


    The MPV alternative with e.g. :

    


    mpv --ytdl-format=299+140 https://www.youtube.com/watch?v=LXb3EKWsInQ


    


    lags sadly.

    


    So I thought of a method to use a similar option with VLC.

    


    My attempt :

    


    #!/bin/bash

echo 'Enter: videoFormatCode audioFormatCode URL'

read video audio link

videoLink=$(youtube-dl -g -f $video $link)

audioLink=$(youtube-dl -g -f $audio $link)




ffmpeg -i "$videoLink" -i "$audioLink" -f matroska - | vlc -


    


    So, first I will find out the format codes with :

    


    youtube-dl -F https://www.youtube.com/watch?v=LXb3EKWsInQ


    


    which gives me :

    


    format code  extension  resolution note
249          webm       audio only tiny   50k , webm_dash container, opus @ 50k (48000Hz), 1.88MiB
250          webm       audio only tiny   67k , webm_dash container, opus @ 67k (48000Hz), 2.51MiB
140          m4a        audio only tiny  129k , m4a_dash container, mp4a.40.2@129k (44100Hz), 4.84MiB
251          webm       audio only tiny  132k , webm_dash container, opus @132k (48000Hz), 4.96MiB
394          mp4        256x144    144p HDR   63k , mp4_dash container, av01.0.00M.10.0.110.09.16.09.0@  63k, 30fps, video only, 2.39MiB
160          mp4        256x144    144p   70k , mp4_dash container, avc1.4d400c@  70k, 30fps, video only, 2.64MiB
278          webm       256x144    144p   82k , webm_dash container, vp9@  82k, 30fps, video only, 3.07MiB
694          mp4        256x144    144p60 HDR  179k , mp4_dash container, av01.0.00M.10.0.110.09.16.09.0@ 179k, 60fps, video only, 6.73MiB
330          webm       256x144    144p60 HDR  212k , webm_dash container, vp9.2@ 212k, 60fps, video only, 7.96MiB
395          mp4        426x240    240p HDR  111k , mp4_dash container, av01.0.00M.10.0.110.09.16.09.0@ 111k, 30fps, video only, 4.16MiB
133          mp4        426x240    240p  156k , mp4_dash container, avc1.4d4015@ 156k, 30fps, video only, 5.86MiB
242          webm       426x240    240p  160k , webm_dash container, vp9@ 160k, 30fps, video only, 6.00MiB
695          mp4        426x240    240p60 HDR  409k , mp4_dash container, av01.0.01M.10.0.110.09.16.09.0@ 409k, 60fps, video only, 15.32MiB
331          webm       426x240    240p60 HDR  444k , webm_dash container, vp9.2@ 444k, 60fps, video only, 16.63MiB
396          mp4        640x360    360p HDR  220k , mp4_dash container, av01.0.01M.10.0.110.09.16.09.0@ 220k, 30fps, video only, 8.23MiB
134          mp4        640x360    360p  337k , mp4_dash container, avc1.4d401e@ 337k, 30fps, video only, 12.64MiB
243          webm       640x360    360p  343k , webm_dash container, vp9@ 343k, 30fps, video only, 12.84MiB
696          mp4        640x360    360p60 HDR  862k , mp4_dash container, av01.0.04M.10.0.110.09.16.09.0@ 862k, 60fps, video only, 32.28MiB
332          webm       640x360    360p60 HDR  954k , webm_dash container, vp9.2@ 954k, 60fps, video only, 35.70MiB
397          mp4        854x480    480p HDR  406k , mp4_dash container, av01.0.04M.10.0.110.09.16.09.0@ 406k, 30fps, video only, 15.19MiB
135          mp4        854x480    480p  563k , mp4_dash container, avc1.4d401f@ 563k, 30fps, video only, 21.08MiB
244          webm       854x480    480p  619k , webm_dash container, vp9@ 619k, 30fps, video only, 23.18MiB
697          mp4        854x480    480p60 HDR 1652k , mp4_dash container, av01.0.05M.10.0.110.09.16.09.0@1652k, 60fps, video only, 61.81MiB
333          webm       854x480    480p60 HDR 1848k , webm_dash container, vp9.2@1848k, 60fps, video only, 69.13MiB
398          mp4        1280x720   720p60 HDR 1151k , mp4_dash container, av01.0.08M.10.0.110.09.16.09.0@1151k, 60fps, video only, 43.09MiB
247          webm       1280x720   720p 1220k , webm_dash container, vp9@1220k, 30fps, video only, 45.67MiB
136          mp4        1280x720   720p 1540k , mp4_dash container, avc1.4d401f@1540k, 30fps, video only, 57.61MiB
302          webm       1280x720   720p60 1964k , webm_dash container, vp9@1964k, 60fps, video only, 73.48MiB
298          mp4        1280x720   720p60 2475k , mp4_dash container, avc1.4d4020@2475k, 60fps, video only, 92.60MiB
698          mp4        1280x720   720p60 HDR 3829k , mp4_dash container, av01.0.08M.10.0.110.09.16.09.0@3829k, 60fps, video only, 143.25MiB
334          webm       1280x720   720p60 HDR 4337k , webm_dash container, vp9.2@4337k, 60fps, video only, 162.26MiB
399          mp4        1920x1080  1080p60 HDR 2151k , mp4_dash container, av01.0.09M.10.0.110.09.16.09.0@2151k, 60fps, video only, 80.49MiB
303          webm       1920x1080  1080p60 3475k , webm_dash container, vp9@3475k, 60fps, video only, 130.01MiB
299          mp4        1920x1080  1080p60 4376k , mp4_dash container, avc1.64002a@4376k, 60fps, video only, 163.70MiB
699          mp4        1920x1080  1080p60 HDR 6358k , mp4_dash container, av01.0.09M.10.0.110.09.16.09.0@6358k, 60fps, video only, 237.83MiB
335          webm       1920x1080  1080p60 HDR 6738k , webm_dash container, vp9.2@6738k, 60fps, video only, 252.04MiB
400          mp4        2560x1440  1440p60 HDR 5529k , mp4_dash container, av01.0.12M.10.0.110.09.16.09.0@5529k, 60fps, video only, 206.83MiB
308          webm       2560x1440  1440p60 10376k , webm_dash container, vp9@10376k, 60fps, video only, 388.14MiB
700          mp4        2560x1440  1440p60 HDR 15170k , mp4_dash container, av01.0.12M.10.0.110.09.16.09.0@15170k, 60fps, video only, 567.45MiB
336          webm       2560x1440  1440p60 HDR 16231k , webm_dash container, vp9.2@16231k, 60fps, video only, 607.14MiB
401          mp4        3840x2160  2160p60 HDR 11707k , mp4_dash container, av01.0.13M.10.0.110.09.16.09.0@11707k, 60fps, video only, 437.93MiB
315          webm       3840x2160  2160p60 25573k , webm_dash container, vp9@25573k, 60fps, video only, 956.58MiB
701          mp4        3840x2160  2160p60 HDR 28033k , mp4_dash container, av01.0.13M.10.0.110.09.16.09.0@28033k, 60fps, video only, 1.02GiB
337          webm       3840x2160  2160p60 HDR 28869k , webm_dash container, vp9.2@28869k, 60fps, video only, 1.05GiB
18           mp4        640x360    360p  642k , avc1.42001E, 30fps, mp4a.40.2 (44100Hz), 24.03MiB
22           mp4        1280x720   720p 1669k , avc1.64001F, 30fps, mp4a.40.2 (44100Hz) (best)


    


    Then I search for a 1080p60 stream with avc1, which leads to format code 299 in this list and then choose a fitting audio stream, like format code 140.

    


    Through the script youtube-dl catches the links for the respective format code, which get joined with ffmpeg as a matroska file and the send to VLC.

    


    But this method lags ; in my opinion because it seems not to cache the stream, like MPV does. And there is not seeking option ; when I try to seek it pops back to the beginning.

    


    I tried it with adding -bufsize 6750k to the ffmpeg line, but that did not help either.
I also added the VLC option --sout-mux-caching 30000 where I thought VLC would get a bigger cache to buffer the stream, but that did not help, too.

    


    So, how could I play back this as a smooth stream in VLC ?

    


    Also, my solution might not the best to start with, so please don't take this as a reference, it was just an attempt by my side with my sparse knowledge how I would handle the situation.

    


    If there are better alternatives, you can of course post them, too. ;)

    



    


    I also want to add, that the script, which I posted above, works well, when I use the 134 format code with a far lesser resolution, so somewhere seems to be a bottleneck.

    



    


    Attachment 1 :

    


    Output with format codes 299+140 :

    


    Output

    


    Attachment 2 :

    


    Output with format codes 134+140 :

    


    Output

    



    


    Should the pastebin not work, here is an alternative link to the outputs.

    



    


    I terminated the program after several seconds with Ctrl-C, so the output won't be that big, thought it could help to find an answer on this.

    



    


    Just for reference :
After pressing Ctrl-C this line appeared :

    


    QObject::~QObject: Timers cannot be stopped from another thread


    


  • How to loop an image properly for a live stream with FFMPEG

    28 avril 2021, par Xternet

    I'm using the below code to live stream to Instagram, now I want to loop an image so it'll go on forever as long as the process is running, it'll keep streaming. But when I watch the live stream, I keep seeing pauses in the live video. How do I fix it ?

    


    ffmpeg -loop 1 -rtbufsize 256M -re -i "image.png" -acodec libmp3lame -ar 44100 -b:a 128k -pix_fmt yuv420p -profile:v baseline -s 720x1280 -bufsize 6000k -vb 400k -maxrate 1500k -deinterlace -t 60 -vcodec libx264 -preset veryfast -g 30 -r 30 -f flv "RTMPstreamURL"


    


  • Use deck.js as a remote presentation tool

    8 janvier 2014, par silvia

    deck.js is one of the new HTML5-based presentation tools. It’s simple to use, in particular for your basic, every-day presentation needs. You can also create more complex slides with animations etc. if you know your HTML and CSS.

    Yesterday at linux.conf.au (LCA), I gave a presentation using deck.js. But I didn’t give it from the lectern in the room in Perth where LCA is being held – instead I gave it from the comfort of my home office at the other end of the country.

    I used my laptop with in-built webcam and my Chrome browser to give this presentation. Beforehand, I had uploaded the presentation to a Web server and shared the link with the organiser of my speaker track, who was on site in Perth and had set up his laptop in the same fashion as myself. His screen was projecting the Chrome tab in which my slides were loaded and he had hooked up the audio output of his laptop to the room speaker system. His camera was pointed at the audience so I could see their reaction.

    I loaded a slide master URL :
    http://html5videoguide.net/presentations/lca_2014_webrtc/?master
    and the room loaded the URL without query string :
    http://html5videoguide.net/presentations/lca_2014_webrtc/.

    Then I gave my talk exactly as I would if I was in the same room. Yes, it felt exactly as though I was there, including nervousness and audience feedback.

    How did we do that ? WebRTC (Web Real-time Communication) to the rescue, of course !

    We used one of the modules of the rtc.io project called rtc-glue to add the video conferencing functionality and the slide navigation to deck.js. It was actually really really simple !

    Here are the few things we added to deck.js to make it work :

    • Code added to index.html to make the video connection work :
      <meta name="rtc-signalhost" content="http://rtc.io/switchboard/">
      <meta name="rtc-room" content="lca2014">
      ...
      <video id="localV" rtc-capture="camera" muted></video>
      <video id="peerV" rtc-peer rtc-stream="localV"></video>
      ...
      <script src="glue.js"></script>
      <script>
      glue.config.iceServers = [{ url: 'stun:stun.l.google.com:19302' }];
      </script>

      The iceServers config is required to punch through firewalls – you may also need a TURN server. Note that you need a signalling server – in our case we used http://rtc.io/switchboard/, which runs the code from rtc-switchboard.

    • Added glue.js library to deck.js :

      Downloaded from https://raw.github.com/rtc-io/rtc-glue/master/dist/glue.js into the source directory of deck.js.

    • Code added to index.html to synchronize slide navigation :
      glue.events.once('connected', function(signaller) {
       if (location.search.slice(1) !== '') {
         $(document).bind('deck.change', function(evt, from, to) {
           signaller.send('/slide', {
             idx: to,
             sender: signaller.id
           });
         });
       }
       signaller.on('slide', function(data) {
         console.log('received notification to change to slide: ', data.idx);
         $.deck('go', data.idx);
       });
      });

      This simply registers a callback on the slide master end to send a slide position message to the room end, and a callback on the room end that initiates the slide navigation.

    And that’s it !

    You can find my slide deck on GitHub.

    Feel free to write your own slides in this manner – I would love to have more users of this approach. It should also be fairly simple to extend this to share pointer positions, so you can actually use the mouse pointer to point to things on your slides remotely. Would love to hear your experiences !

    Note that the slides are actually a talk about the rtc.io project, so if you want to find out more about these modules and what other things you can do, read the slide deck or watch the talk when it has been published by LCA.

    Many thanks to Damon Oehlman for his help in getting this working.

    BTW : somebody should really fix that print style sheet for deck.js – I’m only ever getting the one slide that is currently showing. ;-)