Recherche avancée

Médias (1)

Mot : - Tags -/university

Autres articles (38)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

  • Personnaliser les catégories

    21 juin 2013, par

    Formulaire de création d’une catégorie
    Pour ceux qui connaissent bien SPIP, une catégorie peut être assimilée à une rubrique.
    Dans le cas d’un document de type catégorie, les champs proposés par défaut sont : Texte
    On peut modifier ce formulaire dans la partie :
    Administration > Configuration des masques de formulaire.
    Dans le cas d’un document de type média, les champs non affichés par défaut sont : Descriptif rapide
    Par ailleurs, c’est dans cette partie configuration qu’on peut indiquer le (...)

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

  • 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 ?

    


  • Overlaying one video on another one and making black pixels or green pixels transparent

    30 décembre 2017, par kostya572

    I found great answer here : https://stackoverflow.com/a/38581696/2337706

    It works only for black pixels. The result is not perfect. I guess if change the overlay background color to other color, e.g. green, red, blue the results would be better. How can I change the other background color ?

    Here is my working code :

    ffmpeg -y \
       -i video.webm -i overlay.mov \
       -filter_complex " \
           [0:v]setpts=PTS-STARTPTS[base]; \
           [1:v]crop=iw:0.50*ih,setpts=PTS-STARTPTS+0/TB, \
                    format=yuva420p,colorchannelmixer=aa=0.7[overlay]; \
        [base][overlay]overlay=x=(W-w)/2:y=0[v]" \
    -map "[v]" -map 0:a -c:a copy -c:v libvpx-vp9 -lossless 1 -threads 4 -quality realtime \
    -speed 8 -tile-columns 6 -frame-parallel 1 -vsync 2 -shortest output.webm

    The result :
    Result

    Need result :
    Need result

    Or need result (if impossible first with good quality) :
    Or need result (if impossible first with good quality)

    Thank you, sorry for the frequent questions on ffpmpeg topic.

  • FFmpeg missed packets (from time to time) while copying RTP stream to file

    1er septembre 2017, par Gnitry

    I have and RTP video broadcast stream (using NOVUS – H.264 / MPEG-4 HD/SD Broadcast Encoder). And I have a Windows Server 2012 (Intel Xeon E5-2690, 128Gb RAM) with service which is recording this stream to file (using lastest FFmpeg, calling it as external process). Every 2-5 minutes recording stops and starts again to a new file.

    From time to time there are significant (and not) lags in video. At most these lags are at the beginning file, sometimes in the center/end. Regarding log there are missed packets.

    It could be network problems, but :

    I ran manually from console in parallel another instance of ffmpeg and started to record the same broadcast stream with segmentation by time. And in this case recording is very good (missed packets 1..5 very very rarely), no lags. At moments, when the first ffmpeg records the second ffmpeg has no problems.

    What could be the reason of this behavior ? Two ffmpeg instances run in parallel and read the same udp input, but the first misses packets when the second feels good. No memory problems, no hdd problems, no CPU overload. I also tried to set highest priority of the first ffmpeg process, but it didn’t help. The only difference between them I see is that first ffmpeg is run from service, and the second is run from from local administrator. To be honest, I used vlc as recorder before, but it had the same problems too... And I can surely say that video stream is ok, because it is played in VLC player 24h/day on another PC without lags...

    That is how I run ffmpeg from windows service (C#) :

    _process = new Process();
    var startInfo = new ProcessStartInfo(@"ffmpeg\ffmpeg.exe");
    startInfo.UseShellExecute = false;
    startInfo.RedirectStandardInput = true;
    startInfo.Arguments = "-loglevel debug -y -ss 1 -i \"" + _url + "\" -vcodec copy -y -an \"" + _outputFileName + "\"";
    startInfo.CreateNoWindow = true;

    Command to record video automatically from windows service :

    ffmpeg.exe -loglevel debug -y -ss 1 -i "rtp://225.1.1.1:1024" -vcodec copy -y -an "Session-021221.ts"

    Command to record video manually.

    D:\ffmpeg\ffmpeg -i "rtp://225.1.1.1:1024" -vcodec copy -an -f segment -strftime 1 -segment_time 300 "novus-%Y-%m-%d_%H-%M-%S.ts"

    This is part of the log of one of the broken recordings (some other full logs are attached) :

    ...
    2017.09.01 18R:22:56.171  frame=  172 fps= 45 q=-1.0 size=    2816kB time=00:00:03.45 bitrate=6674.9kbits/s speed=0.909x    
    2017.09.01 18R:22:56.174  [NULL @ 0000000000a89ee0] ct_type:0 pic_struct:0
    2017.09.01 18R:22:56.686      Last message repeated 26 times
    2017.09.01 18R:22:56.687  frame=  199 fps= 46 q=-1.0 size=    3072kB time=00:00:03.99 bitrate=6297.7kbits/s speed=0.926x    
    2017.09.01 18R:23:04.554  [NULL @ 0000000000a89ee0] ct_type:0 pic_struct:0
    2017.09.01 18R:23:04.571      Last message repeated 26 times
    2017.09.01 18R:23:04.571  frame=  226 fps= 47 q=-1.0 size=    3584kB time=00:00:04.53 bitrate=6472.7kbits/s speed=0.939x    
    2017.09.01 18R:23:04.571  [NULL @ 0000000000a89ee0] ct_type:0 pic_struct:0
    2017.09.01 18R:23:04.572      Last message repeated 26 times
    2017.09.01 18R:23:04.572  frame=  253 fps= 47 q=-1.0 size=    4096kB time=00:00:05.07 bitrate=6610.4kbits/s speed=0.948x    
    2017.09.01 18R:23:04.572  [NULL @ 0000000000a89ee0] ct_type:0 pic_struct:0
    2017.09.01 18R:23:04.572  frame=  254 fps= 21 q=-1.0 size=    4096kB time=00:00:05.09 bitrate=6584.5kbits/s speed=0.418x    
    2017.09.01 18R:23:04.572  [NULL @ 0000000000a89ee0] ct_type:0 pic_struct:0
    2017.09.01 18R:23:04.655      Last message repeated 5 times
    2017.09.01 18R:23:04.684  [rtp @ 0000000000a3a9a0] max delay reached. need to consume packet
    2017.09.01 18R:23:04.684  [rtp @ 0000000000a3a9a0] RTP: missed 4147 packets
    2017.09.01 18R:23:04.685  [rtp @ 0000000000a3a9a0] RTP: PT=21: bad cseq a237 expected=9204
    2017.09.01 18R:23:04.685  [rtp @ 0000000000a3a9a0] max delay reached. need to consume packet
    2017.09.01 18R:23:04.685  [rtp @ 0000000000a3a9a0] RTP: missed 4148 packets
    2017.09.01 18R:23:04.685  [rtp @ 0000000000a3a9a0] Continuity check failed for pid 256 expected 8 got 15
    2017.09.01 18R:23:04.686  [rtp @ 0000000000a3a9a0] Continuity check failed for pid 272 expected 10 got 15
    2017.09.01 18R:23:04.686  [rtp @ 0000000000a3a9a0] Continuity check failed for pid 32 expected 13 got 4
    2017.09.01 18R:23:04.686  [rtp @ 0000000000a3a9a0] Continuity check failed for pid 0 expected 14 got 6
    2017.09.01 18R:23:04.767  [NULL @ 0000000000a89ee0] ct_type:0 pic_struct:0
    2017.09.01 18R:23:05.255      Last message repeated 25 times
    2017.09.01 18R:23:05.256  frame=  286 fps= 22 q=-1.0 size=    4608kB time=00:00:12.51 bitrate=3016.0kbits/s speed=0.971x    
    2017.09.01 18R:23:05.257  [NULL @ 0000000000a89ee0] ct_type:0 pic_struct:0
    2017.09.01 18R:23:05.77      Last message repeated 26 times
    2017.09.01 18R:23:05.77  frame=  313 fps= 23 q=-1.0 size=    5120kB time=00:00:13.05 bitrate=3212.5kbits/s speed=0.974x    
    2017.09.01 18R:23:05.773  [NULL @ 0000000000a89ee0] ct_type:0 pic_struct:0
    2017.09.01 18R:23:06.287      Last message repeated 26 times
    2017.09.01 18R:23:06.288  frame=  340 fps= 24 q=-1.0 size=    5376kB time=00:00:13.59 bitrate=3239.2kbits/s speed=0.977x    
    2017.09.01 18R:23:06.29  [NULL @ 0000000000a89ee0] ct_type:0 pic_struct:0
    2017.09.01 18R:23:06.803      Last message repeated 26 times
    2017.09.01 18R:23:06.804  frame=  367 fps= 25 q=-1.0 size=    5888kB time=00:00:14.13 bitrate=3412.2kbits/s speed=0.979x    
    2017.09.01 18R:23:06.808  [NULL @ 0000000000a89ee0] ct_type:0 pic_struct:0
    2017.09.01 18R:23:07.324      Last message repeated 26 times
    2017.09.01 18R:23:07.324  frame=  394 fps= 26 q=-1.0 size=    6144kB time=00:00:14.67 bitrate=3429.5kbits/s speed=0.981x  
    ...

    Some full logs :

    Full log #1

    Full log #2