Recherche avancée

Médias (1)

Mot : - Tags -/lev manovitch

Autres articles (20)

  • Les tâches Cron régulières de la ferme

    1er décembre 2010, par

    La gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
    Le super Cron (gestion_mutu_super_cron)
    Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...)

  • Les formats acceptés

    28 janvier 2010, par

    Les commandes suivantes permettent d’avoir des informations sur les formats et codecs gérés par l’installation local de ffmpeg :
    ffmpeg -codecs ffmpeg -formats
    Les format videos acceptés en entrée
    Cette liste est non exhaustive, elle met en exergue les principaux formats utilisés : h264 : H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 m4v : raw MPEG-4 video format flv : Flash Video (FLV) / Sorenson Spark / Sorenson H.263 Theora wmv :
    Les formats vidéos de sortie possibles
    Dans un premier temps on (...)

  • Ajouter notes et légendes aux images

    7 février 2011, par

    Pour pouvoir ajouter notes et légendes aux images, la première étape est d’installer le plugin "Légendes".
    Une fois le plugin activé, vous pouvez le configurer dans l’espace de configuration afin de modifier les droits de création / modification et de suppression des notes. Par défaut seuls les administrateurs du site peuvent ajouter des notes aux images.
    Modification lors de l’ajout d’un média
    Lors de l’ajout d’un média de type "image" un nouveau bouton apparait au dessus de la prévisualisation (...)

Sur d’autres sites (5343)

  • How to decode in ffmpeg using hardware (avcodec_parameters_to_context problem)

    25 juillet 2020, par Guerlando OCs
          AVCodecContext *ctx= NULL;
      AVCodecParameters *origin_par = NULL;


      result = avcodec_parameters_to_context(ctx, origin_par);
      if (result) {
          av_log(NULL, AV_LOG_ERROR, "Can't copy decoder context\n");
          return result;
      }


    


    where origin_par is filled by opening the file and reading some of its things :

    


       result = avformat_open_input(&fmt_ctx, input_filename, NULL, NULL);
   if (result < 0) {
       av_log(NULL, AV_LOG_ERROR, "Can't open file\n");
       return result;
   }

   result = avformat_find_stream_info(fmt_ctx, NULL);
   if (result < 0) {
       av_log(NULL, AV_LOG_ERROR, "Can't get stream info\n");
       return result;
   }

   video_stream = av_find_best_stream(fmt_ctx, AVMEDIA_TYPE_VIDEO, -1, -1, NULL, 0);
   if (video_stream < 0) {
     av_log(NULL, AV_LOG_ERROR, "Can't find video stream in input file\n");
     return -1;
   }

   origin_par = fmt_ctx->streams[video_stream]->codecpar;


    


    However, I don't have a file, I have an h264 stream. How do I make it work then ? I need a way to fill the parameters to the context using avcodec_parameters_to_context but without opening a file.

    


  • sending udp cbr content using ffmpeg makes memory problem

    30 décembre 2020, par Przemo

    I am struggling with muxing a few UDP inputs (SPTS from file) in one UDP output (MPTS).
When I use following command

    


    ffmpeg -thread_queue_size 2048 -i "udp://233.0.0.1:4005?fifo_size=1000000&buffer_size=10000000" -thread_queue_size 2048 -i "udp://233.0.0.1:4000?fifo_size=1000000&buffer_size=10000000" -thread_queue_size 2048 -i "udp://233.0.0.1:4001?fifo_size=1000000&buffer_size=10000000" -thread_queue_size 2048 -i "udp://233.0.0.1:4002?fifo_size=1000000&buffer_size=10000000" -thread_queue_size 2048 -i "udp://233.0.0.1:4003?fifo_size=1000000&buffer_size=10000000" -thread_queue_size 2048 -i "udp://233.0.0.1:4004?fifo_size=1000000&buffer_size=10000000" -map 0 -map 1 -map 2 -map 3 -map 4 -map 5 -program title=Program0:st=0:st=1 -program title=Program1:st=2:st=3 -program title=Program2:st=4:st=5 -program title=Program3:st=6:st=7 -program title=Program4:st=8:st=9 -program title=Program5:st=10:st=11 -c copy -metadata service_provider=FILE -f mpegts -muxrate 40000000 -flush_packets 0 "udp://239.2.2.2:2222?overrun_nonfatal=1&fifo_size=1000000&buffer_size=10000000&pkt_size=1316&ttl=1"


    


    I can play (with VLC) the MPTS content many hours with no problems.

    


    When I add a bitrate parameter to make UDP output stream as CBR

    


    "udp://239.2.2.2:2222?overrun_nonfatal=1&fifo_size=1000000&buffer_size=10000000&pkt_size=1316&ttl=1&bitrate=40000000"


    


    instead of

    


    "udp://239.2.2.2:2222?overrun_nonfatal=1&fifo_size=1000000&buffer_size=10000000&pkt_size=1316&ttl=1"


    


    a hear many audio cuts, and from VLC I see then :

    


    


    main warning : timing screwed (drift : -89659 us) : stopping resampling
    
main warning : playback too early (-89367) : down-sampling
    
main warning : playback way too early (-126525) : playing silence
    
main debug : inserting 6073 zeroes
    
main warning : playback too early (-47858) : down-sampling
    
main warning : timing screwed (drift : -97495 us) : stopping resampling
    
main warning : playback too early (-96807) : down-sampling
    
main warning : playback way too early (-134672) : playing silence
    
main debug : inserting 6464 zeroes

    


    


    and after some random time (several minutes) ffmpeg stops working due to following error :

    


    


    av_interleaved_write_frame() : Cannot allocate memory

    


    


    How to make it work with CBR UDP bitrate ?
    
I tired changing parameters of buffer_size and fifo_size but with no success.
    
I've increased OS UDP buffers to improve performance but same memory problem is visible

    


  • FFMPEG Webvtt m3u8 download into single vtt file, ignore the "X-TIMESTAMP-MAP=MPEGTS=" (timestamp sync problem)

    5 janvier 2021, par Panda Xia

    I want to download the subtitle of a video, it has separated m3u8 file for subtitle :

    


    webvtt source in m3u8 format : https://sdn-global-streaming-cache.3qsdn.com/9378/files/19/05/1199332/Dqt6jZBkvX2nLyY4CGhxmpK89PbQRFV7-drm-aes.ism/Dqt6jZBkvX2nLyY4CGhxmpK89PbQRFV7-drm-aes-textstream_deu=1000.m3u8

    


    looks like :

    


    #EXTM3U
#EXT-X-VERSION:4
## Created with Unified Streaming Platform(version=1.9.5)
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-MEDIA-SEQUENCE:1
#EXT-X-INDEPENDENT-SEGMENTS
#EXT-X-TARGETDURATION:989
#USP-X-TIMESTAMP-MAP:MPEGTS=900000,LOCAL=1970-01-01T00:00:00Z
#EXTINF:24.72, no desc
Dqt6jZBkvX2nLyY4CGhxmpK89PbQRFV7-drm-aes-textstream_deu=1000-1.webvtt
#EXTINF:2.56, no desc
Dqt6jZBkvX2nLyY4CGhxmpK89PbQRFV7-drm-aes-textstream_deu=1000-13.webvtt
#EXTINF:50.88, no desc
Dqt6jZBkvX2nLyY4CGhxmpK89PbQRFV7-drm-aes-textstream_deu=1000-14.webvtt
#EXTINF:3.079, no desc
Dqt6jZBkvX2nLyY4CGhxmpK89PbQRFV7-drm-aes-textstream_deu=1000-40.webvtt
#EXTINF:60.401, no desc
....


    


    Then use the command to download the multiple webvtts into one vtt file "EN.vtt" :

    


    ffmpeg -i  "https://sdn-global-streaming-cache.3qsdn.com/9378/files/19/05/1199332/Dqt6jZBkvX2nLyY4CGhxmpK89PbQRFV7-drm-aes.ism/Dqt6jZBkvX2nLyY4CGhxmpK89PbQRFV7-drm-aes-textstream_deu=1000.m3u8"  "DE.vtt"


    


    In output "DE.vtt" the X-TIMESTAMP-MAP=MPEGTS:xxxxxx,LOCAL:00:00:00.000 from each webvtt file (webvtt in m3u8) are ignored.

    


    so that the time Synchronisation is broken, the start time of each Segment always begins from 00:00:00, looks like :

    


    WEBVTT

00:00.000 --> 00:02.560
So viel Macht.

00:00.000 --> 00:03.079
Was er sagte.

00:00.000 --> 00:04.680
oder
die Schönheit

00:00.000 --> 00:01.440
Er sagte immer:

00:00.000 --> 00:03.840
Auf seinen Klang 

00:00.000 --> 00:07.519
Seine Paranoia.


    


    Could ffmpeg support the relative time stamp to convert into absolute time stamp ?
Or use other method to download perfect webvvt file ?