
Recherche avancée
Médias (10)
-
Demon Seed
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Demon seed (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
The four of us are dying (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
Corona radiata (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
Lights in the sky (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
Head down (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
Autres articles (33)
-
La file d’attente de SPIPmotion
28 novembre 2010, parUne file d’attente stockée dans la base de donnée
Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...) -
Emballe médias : à quoi cela sert ?
4 février 2011, parCe plugin vise à gérer des sites de mise en ligne de documents de tous types.
Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ; -
Encoding and processing into web-friendly formats
13 avril 2011, parMediaSPIP automatically converts uploaded files to internet-compatible formats.
Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
All uploaded files are stored online in their original format, so you can (...)
Sur d’autres sites (7490)
-
avfilter/framesync : add a new option to set how to sync streams based on secondary...
2 août 2022, par James Almeravfilter/framesync : add a new option to set how to sync streams based on secondary input timestamps
Include two values for it, a default one that sets/keeps the current behavior,
where the frame event generated by the primary input will have a timestamp
equal or higher than frames in secondary input, plus a new one where the
secondary input frame will be that with the absolute closest timestamp to that
of the frame event one.Addresses ticket #9689, where the new optional behavior produces better frame
syncronization.Reviewed-by : Nicolas George <george@nsup.org>
Signed-off-by : James Almer <jamrial@gmail.com> -
avcodec/h264_slice : don't sync default_ref[] between threads.
18 juillet 2017, par Wan-Teh Changavcodec/h264_slice : don't sync default_ref[] between threads.
default_ref[] is unconditionally initialized in h264_initialise_ref_list()
(called from ff_h264_build_ref_list(), called from h264_slice_init()).This fixes the following tsan warning when running fate-h264 :
WARNING : ThreadSanitizer : data race (pid=31070)
Write of size 8 at 0x7bbc000082a8 by thread T1 (mutexes : write M1628) :
#0 memcpy /work/release-test/final/llvm.src/projects/compiler-rt/lib/tsan/../sanitizer_common/sanitizer_common_interceptors.inc:655:5
(ffmpeg+0x10de9d)
#1 h264_initialise_ref_list ffmpeg/libavcodec/h264_refs.c:214:29 (ffmpeg+0x1186b3f)
#2 ff_h264_build_ref_list ffmpeg/libavcodec/h264_refs.c:306 (ffmpeg+0x1186b3f)
#3 h264_slice_init ffmpeg/libavcodec/h264_slice.c:1900:11 (ffmpeg+0x1191149)
[..]
Previous read of size 8 at 0x7bbc000082a8 by main thread (mutexes :
write M1630) :
#0 memcpy /work/release-test/final/llvm.src/projects/compiler-rt/lib/tsan/../sanitizer_common/sanitizer_common_interceptors.inc:655:5
(ffmpeg+0x10de9d)
#1 ff_h264_update_thread_context ffmpeg/libavcodec/h264_slice.c:411:5 (ffmpeg+0x118b7dc)Signed-off-by : Wan-Teh Chang <wtc@google.com>
Signed-off-by : Ronald S. Bultje <rsbultje@gmail.com> -
ffmpeg : Encoding a single live video stream into different resolutions and keeping them in sync
15 mai 2020, par AlmusI'm using NGINX as a simple HLS live video server. Sending an rtmp stream into the server, transcoding it into three different resolutions for delivery using HLS to users with different bandwidth limits.



The problem I'm having is that when I take the 1080p 30fps input transcode it down to 480p and 720p then split it into chunks with HLS the segments from the two transcoded outputs are not in sync with the copied full resolution stream.



here is what I am doing now :
exec FFmpeg on the source rtmp stream :



exec ffmpeg -i rtmp://127.0.0.1:1935/live/$name
 -c:v libx264 -c:a aac -b:a 128k -vf "scale=-2:720" -vsync 1 -copyts -start_at_zero -sws_flags lanczos -r 30 -g 30 -keyint_min 30 -force_key_frames "expr:gte(t,n_forced*1)" -tune zerolatency -preset ultrafast -crf 28 -maxrate 2096k -bufsize 4192k -threads 16 -f flv rtmp://localhost:1935/show/$name_720
 -c:v libx264 -c:a aac -b:a 96k -vf "scale=-2:480" -vsync 1 -copyts -start_at_zero -sws_flags lanczos -r 30 -g 30 -keyint_min 30 -force_key_frames "expr:gte(t,n_forced*1)" -tune zerolatency -preset ultrafast -crf 28 -maxrate 1200k -bufsize 2400k -threads 16 -f flv rtmp://localhost:1935/show/$name_480
 -c copy -vsync 1 -f flv rtmp://localhost:1935/show/$name_src;




Then take the results and segment them for HLS



hls on;
hls_path /var/www/live-adapt;
hls_nested on;
hls_fragment 1;
hls_playlist_length 30;

hls_fragment_naming system;

hls_variant _480 BANDWIDTH=1200000; # Medium bitrate, SD resolution
hls_variant _720 BANDWIDTH=2048000; # High bitrate, HD 720p resolution
hls_variant _src BANDWIDTH=4096000; # Source bitrate, source resolution




This is working except the streams are not in sync which causes issues if the end-users need to (or choose to) switch between streams.
Example :



Sequence number 510 was not everywhere in sync:
PTS 510.7 for https://fqdn/live-adapt/c5d7ddb2-5562-4bd3-9e06-df9fa6e8ff06_480/1589521352937.ts
PTS 510.7 for https://fqdn/live-adapt/c5d7ddb2-5562-4bd3-9e06-df9fa6e8ff06_720/1589521352933.ts
PTS 511.699 for https://fqdn/live-adapt/c5d7ddb2-5562-4bd3-9e06-df9fa6e8ff06_src/1589521353752.ts




I would love any advice or suggestions.