Recherche avancée

Médias (2)

Mot : - Tags -/plugins

Autres articles (66)

  • 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

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

  • Support audio et vidéo HTML5

    10 avril 2011

    MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
    Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
    Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
    Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)

Sur d’autres sites (7061)

  • How to implement multiple video resolutions on front and back-end

    25 février 2021, par LanGuu

    I need a solution or hint on how should I handle multiple resolutions on front-end and back-end. I have been reading about hls, dash, and mse for last few days but the more information I read, the more lost I am.

    


    Right now I have only a microservice for downscaling video using FFmpeg. The FFmpeg returns mp4 with no hls or dash, 4 video resolutions with no sound, and 2 different audio quality.
On front-end, I use react-player. The hardest part is that I need to merge audio and video, synchronize and handle change quality events.
I have found Media source extensions but it won't work I am not sure, but probably because I am using raw mp4 files.

    


    I would like to ask you a few questions

    


      

    1. It is possible to combine video and audio sources without MSE and still keep video and audio separate
    2. 


    3. Do I need HLS or Dash to use MSE ?
    4. 


    5. What is a difference between progressive download and progressive streaming ?
    6. 


    7. If I have to choose what is better right now hls or dash ? what is much easier to implement ?
    8. 


    


  • Understanding ffmpeg map option

    7 avril 2021, par Austin Kyker

    I came across the following command in a blog post which creates different quality video streams that are packaged into DASH format via the dash muxer.

    


    ffmpeg -i $VIDEO_IN \
    -preset $PRESET_P -keyint_min $GOP_SIZE -g $GOP_SIZE -sc_threshold 0 \
    -r $FPS -c:v libx264 -pix_fmt yuv420p -c:a aac -b:a 128k -ac 1 -ar 44100 \
    -map v:0 -s:0 $V_SIZE_1 -b:v:0 2M -maxrate:0 2.14M -bufsize:0 3.5M \
    -map v:0 -s:1 $V_SIZE_2 -b:v:1 145k -maxrate:1 155k -bufsize:1 220k \
    -map v:0 -s:2 $V_SIZE_3 -b:v:2 365k -maxrate:2 390k -bufsize:2 640k \
    -map v:0 -s:3 $V_SIZE_4 -b:v:3 730k -maxrate:3 781k -bufsize:3 1278k \
    -map v:0 -s:4 $V_SIZE_4 -b:v:4 1.1M -maxrate:4 1.17M -bufsize:4 2M \
    -map v:0 -s:5 $V_SIZE_5 -b:v:5 3M -maxrate:5 3.21M -bufsize:5 5.5M \
    -map v:0 -s:6 $V_SIZE_5 -b:v:6 4.5M -maxrate:6 4.8M -bufsize:6 8M \
    -map v:0 -s:7 $V_SIZE_6 -b:v:7 6M -maxrate:7 6.42M -bufsize:7 11M \
    -map v:0 -s:8 $V_SIZE_6 -b:v:8 7.8M -maxrate:8 8.3M -bufsize:8 14M \
    -map 0:a \
    -init_seg_name init\$RepresentationID\$.\$ext\$ -media_seg_name chunk\$RepresentationID\$-\$Number%05d\$.\$ext\$ \
    -use_template 1 -use_timeline 1  \
    -seg_duration 4 -adaptation_sets "id=0,streams=v id=1,streams=a" \
    -f dash Dash/dash.mpd


    


    The thing I'm struggling to understand is how the maps work. I've read the Map docs but they don't seem to have a comparable example.

    


      

    1. Why is -map v:0 used for every video stream ?
    2. 


    3. Why does the first map line operate on stream 0 (e.g. -b:v:0) and the next map line operates on stream 1 (e.g. -b:v:1), etc.
    4. 


    


    Would really appreciate a breakdown.

    


  • How do I playback .m4s files. And turn them into a binary stream for a Discord Bot

    30 octobre 2020, par Harvey

    I want to download the BBC radio 2 and stream it to a discord server. Each request is https://as-dash-uk-live.akamaized.net/pool_904/live/uk/bbc_radio_two/bbc_radio_two.isml/dash/bbc_radio_two-audio=320000-250636302.m4s However the Time stamp will change and they regularly delete content. I found a .dash file as well https://as-dash-uk-live.akamaized.net/pool_904/live/uk/bbc_radio_two/bbc_radio_two.isml/dash/bbc_radio_two-audio=320000.dash which is seems to request. However I can't find how to send it through a discord bot to a discord server. My code is

    


    const axios = require('axios')


module.exports = {
    play: async function (guild,message) {
        const serverQueue = {};
        const voiceChannel = message.member.voice.channel
        serverQueue.connection = await voiceChannel.join();
        plays(guild)
        
        async function plays(guild) {
            let data1 = new Date(1353439725);
            let data2 = new Date(Date.now()/1000);
            console.log(`https://as-dash-uk-live.akamaized.net/pool_904/live/uk/bbc_radio_two/bbc_radio_two.isml/dash/bbc_radio_two-audio=320000-${Math.floor((data2 - data1))-4000}.m4s`)
            const dispatcher = serverQueue.connection.play((await axios.get(`https://as-dash-uk-live.akamaized.net/pool_904/live/uk/bbc_radio_two/bbc_radio_two.isml/dash/bbc_radio_two-audio=320000-${Math.floor((data2 - data1))-4000}.m4s`)).data)
                .on('finish', () => {
                    console.log('Music ended!');
                    plays(guild);
                    return
                })
                .on('error', error => {
                    console.error(error);
                    plays(guild);
                    return
                });
            dispatcher.setVolumeLogarithmic(serverQueue.volume / 5);
        }
    }
}


    


    However no audio plays and the audio end event is always being called. Am I being really stupid or is there a way to do this.