Recherche avancée

Médias (39)

Mot : - Tags -/audio

Autres articles (92)

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

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

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

Sur d’autres sites (7101)

  • How to process and upload large video files directly to cloud with ffmpeg but without fragmented MP4 ?

    9 avril 2024, par volume one

    I am using ffmpeg via fluent-ffpmeg for Node.js to process videos uploaded by users.

    


    The problem I have is if a user uploades a huge movie file, say 8GB in size, then I don't want to store the file on the server as it will soon reach full capacity of space.

    


    I thought a way to tackle this was to stream the output from ffmpeg straight to cloud storage like AWS S3. The only way to do this (I believe) is using a PassThrough() stream :

    


    import PassThrough from 'node:stream' ;
import FFMpeg from 'fluent-ffmpeg' ;

    


    let PassThroughStream = new PassThrough() ;

    


             FFMpeg('/testvideo.mp4')
                .videoCodec('libx264')
                .audioCodec('libmp3lame')
                .size(`640x480`)
                // Stream input requires manually specifying input format
                .inputFormat('mp4')
                // Stream output requires manually specifying output formats
                .format('mp4')
                // Must be fragmented for stream to work. This causes duration problem.
                .outputOptions('-movflags dash')
                .pipe(PassThroughStream, {end: true})


    


    When the video is created using fragmented MP4, there is no duration associated with the file which means it has no length metadata. That makes playback difficult in a browser and is unacceptable :

    


    enter image description here

    


    The only way I have been able to get a proper length property set in the file's metadata is by not using fragmented MP4 (that is the -movflags dash part in the code above). By not using this, I cannot stream the output directly to cloud storage - I have to save the file somewhere locally first.

    


    I think I am missing something but don't know what. How could this be solved ? I want to process and write the output to AWS S3 without storing the file locally without creating a fragmented MP4.

    


  • Best way to pipe audio and video chunks from within python to ffmpeg

    8 mai 2016, par basilikum

    Problem

    I’m getting audio and video chunks from a third-party server and I would like to pipe those chunks to ffmpeg to create a WebM live stream according to these instructions :

    http://wiki.webmproject.org/adaptive-streaming/instructions-to-do-webm-live-streaming-via-dash

    Here they are using input from webcam and microphone but I need to use the data chunks, so the ffmpeg command would look somehow like this :

       cmd = [
           "ffmpeg",
           "-f", "flv", "-i", "video.fifo",
           "-f", "s16le", "-ar", "16000", "-ac", "1", "-i", "audio.fifo",
           "-map", "0:0",
           "-pix_fmt", "yuv420p",
           "-c:v", "libvpx-vp9",
           "-s", "640x480", "-keyint_min", "40", "-g", "40", "-speed", "6",
           "-tile-columns", "4", "-frame-parallel", "1", "-threads", "8",
           "-static-thresh", "0", "-max-intra-rate", "300",
           "-deadline", "realtime", "-lag-in-frames", "0",
           "-error-resilient", "1",
           "-b:v", "3000k",
           "-f", "webm_chunk",
           "-header", self.video_header,
           "-chunk_start_index", "1",
           "video_360_%d.chk",
           "-map", "1:0",
           "-c:a", "libvorbis",
           "-b:a", "16k", "-ar", "16000",
           "-f", "webm_chunk",
           "-audio_chunk_duration", "2000",
           "-header", self.audio_header,
           "-chunk_start_index", "1",
           "audio_171_%d.chk"
       ]

    As you can see, I am using a "video.fifo" and "audio.fifo" file, because I thought it would be a good idea to pipe the chunks in via a named pipe, but I can’t get it to work. Here is what I’m doing :

    p = subprocess.Popen(cmd)
    fa = os.open("video.fifo", os.O_WRONLY)
    fv = os.open("audio.fifo", os.O_WRONLY)

    So I’m starting the subprocess first, so that it opens the fifo files for reading. After that, I should be able to open them for writing but I am not. More specifically, I am able to open the first one, but not the second one. So maybe that has something to do with how ffmpeg handles its inputs if there are more than one, but I just don’t know.

    Question

    How can I either solve the problem of non openable named pipes or how can I achieve what I wanted to achieve without named pipes.

  • Options for replacing RTMP for live streaming

    22 décembre 2016, par molokoV

    I have a backend streaming video to web browsers using RTMP. On the browsers we use jwplayer.
    As everybody know flash player is going to be deprecated soon.
    Im looking for options to modify the backend using another streaming solution.

    We have made some test using DASH but it has too much delay for live streamining compared to RTMP.

    What are the options for anyone using RTMP ?