Recherche avancée

Médias (0)

Mot : - Tags -/tags

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (6)

  • 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

  • Gestion de la ferme

    2 mars 2010, par

    La ferme est gérée dans son ensemble par des "super admins".
    Certains réglages peuvent être fais afin de réguler les besoins des différents canaux.
    Dans un premier temps il utilise le plugin "Gestion de mutualisation"

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

Sur d’autres sites (3116)

  • Optimizing FFmpeg/x264 Configuration for Ultra-Low Latency UDP Streaming [closed]

    17 décembre 2024, par pourjour

    I'm implementing a real-time screen streaming application using FFmpeg's libraries (libavcodec, libavformat) with H.264 encoding and UDP transport. While I have basic low-latency settings in place, I'm looking to minimize latency as much as possible while maintaining reasonable quality.
Here's my current encoder configuration :

    


    // Configure codec for low latency
codecContext->width = WIDTH;
codecContext->height = HEIGHT;
codecContext->time_base = AVRational{1, FPS};
codecContext->framerate = AVRational{FPS, 1};
codecContext->pix_fmt = AV_PIX_FMT_YUV420P;
codecContext->gop_size = 10;
codecContext->max_b_frames = 0;
codecContext->refs = 1;
codecContext->flags |= AV_CODEC_FLAG_LOW_DELAY;
codecContext->bit_rate = 3000000;

// x264 specific settings
av_opt_set(codecContext->priv_data, "preset", "ultrafast", 0);
av_opt_set(codecContext->priv_data, "tune", "zerolatency", 0);
av_opt_set(codecContext->priv_data, "delay", "0", 0);
av_opt_set(codecContext->priv_data, "profile", "baseline", 0);
av_opt_set(codecContext->priv_data, "x264opts",
           "no-mbtree:sliced-threads:sync-lookahead=0:rc-lookahead=0:"
           "no-scenecut:no-cabac:force-cfr", 0);


    


    For network transport, I'm using MPEGTS over UDP :

    


    QString url = QString("udp://%1:%2?pkt_size=1316").arg(targetAddress).arg(targetPort);


    


    Current issues :

    


      

    • Still experiencing 200-300ms latency Some quality degradation with
fast motion Occasional frame drops
    • 


    


    Questions :

    


      

    • Are there additional x264 options or FFmpeg settings I should
consider for reducing latency ?
    • 


    • What are the optimal GOP and bitrate
settings for balancing latency vs quality ?
    • 


    • Are there better muxer settings or alternative container formats I should consider ?
    • 


    • How can I optimize the network transport settings (packet size, buffering,
etc.) ?
    • 


    • Are there any tradeoffs I should be aware of with my current
configuration ?
    • 


    


  • yt-dlp how to download a specific video using timestamps, and limiting the download resolution ?

    30 septembre 2023, par ignacM

    I am running a python program to download a video, this is the command I use :

    


    command = ['powershell.exe ffmpeg',
                   '-ss', str(start),
                   '-i', '$(yt-dlp',
                   '-f', 'bestvideo[ext=webm]',

                   '-g', '"%s")' % (url_base + video_identifier),
                   '-t', str(end - start),
                   '-c:v', 'libx264', '-c:a', 'copy', '%s' % output_filename]

command = ' '.join(command)
output = subprocess.check_output(command, shell=True, stderr=subprocess.STDOUT)


    


    This prints something like
powershell.exe ffmpeg -ss 10 -i $(yt-dlp -f bestvideo[ext=webm] -g "https://www.youtube.com/watch?v=Z15erfLqNKo") -t 10 -c:v libx264 -c:a copy C :\Users...\video.mp4

    


    This works perfectly fine. However, I tried to download a video that had very high resolution (4K) and I want to limit the resolution when downloading. I have found that placing [height<=1080] as so should work :

    &#xA;

    powershell.exe ffmpeg -ss 10 -i $(yt-dlp -f bestvideo[ext=webm][height<=1080] -g "https://www.youtube.com/watch?v=Z15erfLqNKo") -t 10 -c:v libx264 -c:a copy C :\Users...\video.mp4

    &#xA;

    However this does not work for me and gives me the error :&#xA;Error command "" returned non-zero exit status 1.&#xA;Output : b'The system cannot find the file specified.\r\n'

    &#xA;

    I also have noticed that only limiting the resolution does not work for me either :

    &#xA;

    powershell.exe ffmpeg -ss 10 -i $(yt-dlp -f bestvideo[height<=1080] -g "https://www.youtube.com/watch?v=Z15erfLqNKo") -t 10 -c:v libx264 -c:a copy C :\Users...\video.mp4

    &#xA;

    Actually, placing [height<=1080] after bestvideo never works, no matter what I do.

    &#xA;

    What could be the problem ? Or what command can I run to achieve both tasks (limit resolution and download specific timeframe (not whole video and cutting it)) ?

    &#xA;

  • aac encoding with ffmpeg result in super short file

    5 janvier 2017, par Mockarutan

    So I’m having problem with AAC encoding. I’m trying to encode some synthetic sound waves, but it does not work as expected. The file I get gives just a super short sound when played in VLC. When I play is in ffplay is plays like I expect, but it says "duration : 00:00:00.05" which I suppose says 5 ms. But I encode a lot more than that, and it played more. So VLC plays a super short sound, ffplay plays a longer file (the expected length), but displays it with super short duration, what’s going on ?

    Source : http://pastebin.com/M5MKkEL3

    One of the things that looks wrong to me is this :
    If you look for the variable "audio_time", if you breakpoint it and read it every encode frame, you will get this :

    ..
    Encode frame 8 : 0.00010416666666666666
    Encode frame 9 : 0.00012500000000000000
    (and so on)

    The diff is : 0.00002085, which is a 1/1000 of a the diff I expected from 47 samples frames per second, which is what the encoder wants with 48k sample rate (48k / 1024 = 47).

    So why do I get a thousand of the expected data encoded ?

    Feel free to point anything suspicious out !

    Thanks in advance !