Recherche avancée

Médias (1)

Mot : - Tags -/iphone

Autres articles (75)

  • Le plugin : Podcasts.

    14 juillet 2010, par

    Le problème du podcasting est à nouveau un problème révélateur de la normalisation des transports de données sur Internet.
    Deux formats intéressants existent : Celui développé par Apple, très axé sur l’utilisation d’iTunes dont la SPEC est ici ; Le format "Media RSS Module" qui est plus "libre" notamment soutenu par Yahoo et le logiciel Miro ;
    Types de fichiers supportés dans les flux
    Le format d’Apple n’autorise que les formats suivants dans ses flux : .mp3 audio/mpeg .m4a audio/x-m4a .mp4 (...)

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

  • Submit bugs and patches

    13 avril 2011

    Unfortunately a software is never perfect.
    If you think you have found a bug, report it using our ticket system. Please to help us to fix it by providing the following information : the browser you are using, including the exact version as precise an explanation as possible of the problem if possible, the steps taken resulting in the problem a link to the site / page in question
    If you think you have solved the bug, fill in a ticket and attach to it a corrective patch.
    You may also (...)

Sur d’autres sites (12003)

  • HLS audio stream choppy in iOS and Mac Safari - but ok in Chrome, VLC

    30 avril 2024, par Elliot

    I have an HLS stream that seems to have the audio cut out and then return randomly. This only occurs on iOS devices, and Safari on Mac OS. It works fine on Desktop VLC, but not iOS VLC (as in, the audio never cuts out).

    


    More confusing still - if we have multiple developers listening to the same HLS stream on different devices at the same time, we all hear the audio cut out and the return at the same time. So clearly something is wrong with the stream itself.

    


    We create a dash stream from FFMPEG, and then create an HLS manifest in parallel.

    


       transcoder
            // Right now this is the max we'll get
            .audioBitrate('64k')
            // We only have 1 channel
            .audioChannels(1)
            // Enable experimental features ldash/lhls
            .outputOption('-strict', 'experimental')
            // Set url for syncing UTC timestamps with client
            .outputOption('-utc_timing_url', 'https://time.akamai.com/?iso')
            .outputOption('-write_prft', '1')
            // Streaming mode
            .outputOption('-streaming', '1')
            // Use segment file template so we dont list all segments in the manifest
            .outputOption('-use_template', '1')
            // Must be disabled for index_correction which is suggested for streaming use case
            .outputOption('-use_timeline', '0')
            // Fix up segment indexes if they drift due to bandwidth changes
            .outputOption('-index_correction', '1')
            //  Use 6 second segments, for live this shouldn't matter but this is Apple's suggested
            //  value for HLS
            .outputOption('-seg_duration', '6')
            // Push the frames out as fast as they come in
            .outputOption('-frag_type', 'every_frame')
            // Use mp4 segments
            .outputOption('-dash_segment_type', 'mp4')
            // Enabled low-latency mode
            .outputOption('-ldash', '1')
            // Output an HLS playlist too
            .outputOption('-hls_playlist', this.options.hlsEnabled ? '1' : '0')
            // HLS manifest name
            .outputOption('-hls_master_name', 'index.m3u8')
            // Use persistent HTTP connection
            .outputOption('-http_persistent', '1')
            // Do PUTs to the upload endpoint
            .outputOption('-method', 'PUT')
            // Dont let an output error hold up the stream
            .outputOption('-ignore_io_errors', '1')
            // Set a timeout for output
            .outputOption('-timeout', '1')
            // DASH format
            .format('dash');


    


    Does anyone have any suggestions for what we should dig into next ?

    


  • Sending Blobs from a Chrome Extension to a Node.js Process without WebSockets [closed]

    29 octobre 2023, par Matrix 404

    Question :
I have a Puppeteer script that runs a Chrome extension, which opens a webpage. The extension records that tab and sends the recorded blobs to the main Node.js process using WebSockets. The main process then streams these blobs to an RTMP server.

    


    I'm looking for an alternative method to send blobs to the main process without using WebSockets. Additionally, I want to know if it's possible to stream these blobs directly from the browser using FFmpeg wasm.

    


    Details :

    


      

    1. My current setup : Puppeteer script -> Chrome extension (recording) -> WebSockets -> Node.js process -> RTMP server.

      


    2. 


    3. I'm exploring options to eliminate the use of WebSockets while maintaining the ability to send recorded blobs from the Chrome extension to the Node.js process efficiently.

      


    4. 


    5. Is it possible to use FFmpeg wasm to stream blobs directly from the browser to an RTMP server ? If so, how can this be achieved ?

      


    6. 


    


    Additional Information :

    


      

    • The technology stack I'm using includes Puppeteer, Chrome extension, Node.js, and FFmpeg.
    • 


    • Any code snippets, examples, or recommended libraries are greatly appreciated.
    • 


    


    Constraints :

    


      

    • Compatibility with modern browsers and reasonable performance are essential.
    • 


    • Ideally, the solution should work in a headless Chrome instance.
    • 


    


    Thank you for your assistance in finding an efficient solution to this problem !

    


      

    • The technology stack I'm using includes Puppeteer, Chrome extension, Node.js, and FFmpeg.
    • 


    • Any code snippets, examples, or recommended libraries are greatly appreciated.
    • 


    


  • Using ffmpeg.wasm in chrome extensions

    8 juillet 2023, par Jason

    I am building a chrome extension with features dealing with videos. I need to use ffmpeg.wasm. When I am calling ffmpeg.load(), I get errors below :

    


    Refused to load the script 'blob:chrome-extension://{extensionID}/cc7eb591-8aec-41b6-8299-400adde29c0b' because it violates the following Content Security Policy directive: "script-src 'self'". Note that 'script-src-elem' was not explicitly set, so 'script-src' is used as a fallback.

Refused to load the script 'blob:chrome-extension://{extensionID}/cc7eb591-8aec-41b6-8299-400adde29c0b' because it violates the following Content Security Policy directive: "script-src 'self' 'wasm-unsafe-eval' 'inline-speculation-rules' http://localhost:* http://127.0.0.1:*". Note that 'script-src-elem' was not explicitly set, so 'script-src' is used as a fallback.


    


    It seems like ffmpeg.wasm is appending a script tag with a blob: url as src to the head of the document, which is not allowd in chrome extension.

    


    I have tried to modify manifest.json, setting content_security_policy.extension_pages to "script-src 'self' 'wasm-unsafe-eval' 'blob:'; object-src 'self'". However Chrome gives me an error when loading the extension, which says : 'content_security_policy.extension_pages': Insecure CSP value "'blob:'" in directive 'script-src'..

    


    Then I managed to turn the extension's manifest version to v2, but 'blob :' is still not allowed in CSP.

    


    I have tried to run ffmpeg.wasm in background, content-script, popup window, even in chrome.scripting.executeScript(). It throws the error everywhere.

    


    So if chrome doesn't allow "blob :" in script-src whether in v2 or v3, how do people use ffmpeg.wasm in chrome extensions ?