
Recherche avancée
Médias (2)
-
GetID3 - Bloc informations de fichiers
9 avril 2013, par
Mis à jour : Mai 2013
Langue : français
Type : Image
-
GetID3 - Boutons supplémentaires
9 avril 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Image
Autres articles (99)
-
Amélioration de la version de base
13 septembre 2013Jolie sélection multiple
Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...) -
Le plugin : Gestion de la mutualisation
2 mars 2010, parLe plugin de Gestion de mutualisation permet de gérer les différents canaux de mediaspip depuis un site maître. Il a pour but de fournir une solution pure SPIP afin de remplacer cette ancienne solution.
Installation basique
On installe les fichiers de SPIP sur le serveur.
On ajoute ensuite le plugin "mutualisation" à la racine du site comme décrit ici.
On customise le fichier mes_options.php central comme on le souhaite. Voilà pour l’exemple celui de la plateforme mediaspip.net :
< ?php (...) -
Gestion de la ferme
2 mars 2010, parLa 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"
Sur d’autres sites (11495)
-
doc/filters/find_rect : extend documentation
26 mars 2023, par Stefano Sabatinidoc/filters/find_rect : extend documentation
Document metadata entries set by the filter, extend and clarify
options, add additional example showing how to extract the generated
data.Address issue :
http://trac.ffmpeg.org/ticket/8766 -
How to make ffmpeg exit when Input is broken
21 décembre 2016, par APISI have written a bash script to keep a ffmpeg command up and running
#!/bin/bash
while :
do
echo `ffmpeg -re -i http://domain.com/index400.m3u8 -vcodec copy -acodec copy -f mpegts udp://127.0.0.1:10000?pkt_size=1316`
doneThe problem is, sometimes the input is broken, yet ffmpeg does not exit when that happens so that it is restarted by the above script. Instead what happens is the same process is kept running eventhough it is not transferring any packet to the UDP address (output). And I need to manually go into the terminal and kill it (kill -9 #processID)
I need a way to make ffmpeg kill its own process whenever the input is broken.
Appreciate your help.
-
FFMPEG SRT streaming and HLS last segment putting delay [closed]
6 novembre 2024, par Senya MarksI use the following command to run ffmpeg streaming with SRT (https://github.com/Haivision/srt) and HLS source :


ffmpeg -i srt://{srt_url} -vcodec libx264 -preset veryfast -acodec aac -f hls -hls_time 4 -method PUT {uploader_url}



This is cutting stream into .ts and update .m3u8 files at a certain interval.


When I stop the stream, the latest segment files (.ts, .m3u8) are sent to uploader_url, but only after the SRT discards the connection (set in https://github.com/Edward-Wu/srt-live-server/wiki/Directives#idle_streams_timeout)


I'm attaching a chunk of ffmpeg log where file stream2.ts was opened for writing after all streams finished :


...
[AVIOContext @ 0x11e705da0] Statistics: 738652 bytes written, 0 seeks, 23 writeouts
[hls @ 0x104513bb0] Opening 'http://127.0.0.1/api/streams/stream.m3u8' for writing
[http @ 0x600002e24000] Setting default whitelist 'http,https,tls,rtp,tcp,udp,crypto,httpproxy,data'
[tcp @ 0x60000352c280] Original list of addresses:
[tcp @ 0x60000352c280] Address 127.0.0.1
[tcp @ 0x60000352c280] Interleaved list of addresses:
[tcp @ 0x60000352c280] Address 127.0.0.1
[tcp @ 0x60000352c280] Starting connection attempt to 127.0.0.1
[tcp @ 0x60000352c280] Successfully connected to 127.0.0.1
[http @ 0x600002e24000] request: PUT /api/streams/stream.m3u8 HTTP/1.1
Transfer-Encoding: chunked
User-Agent: Lavf/61.7.100
Accept: */*
Connection: close
Host: 127.0.0.1
Icy-MetaData: 1


EXT-X-MEDIA-SEQUENCE:0
...
[aost#0:1/aac @ 0x104451d60] Terminating thread with return code 0 (success)
[out#0/hls @ 0x600002e20000] sq: 0 EOF
[out#0/hls @ 0x600002e20000] sq: finish queue
[vf#0:0 @ 0x600002a0c1e0] Terminating thread with return code 0 (success)
[libx264 @ 0x104412220] frame= 568 QP=29.00 NAL=0 Slice:B Poc:42 I:0 P:0 SKIP:3600 size=35 bytes
...
[vost#0:0/libx264 @ 0x104514280] Terminating thread with return code 0 (success)
[out#0/hls @ 0x600002e20000] All streams finished
[out#0/hls @ 0x600002e20000] Terminating thread with return code 0 (success)
[hls @ 0x104513bb0] Opening 'http://127.0.0.1/api/streams/stream2.ts' for writing
[http @ 0x600002e24000] Setting default whitelist 'http,https,tls,rtp,tcp,udp,crypto,httpproxy,data'
[tcp @ 0x60000352c200] Original list of addresses:
[tcp @ 0x60000352c200] Address 127.0.0.1
[tcp @ 0x60000352c200] Interleaved list of addresses:
[tcp @ 0x60000352c200] Address 127.0.0.1
[tcp @ 0x60000352c200] Starting connection attempt to 127.0.0.1
[tcp @ 0x60000352c200] Successfully connected to 127.0.0.1
[http @ 0x600002e24000] request: PUT /api/streams/stream.ts HTTP/1.1
Transfer-Encoding: chunked
User-Agent: Lavf/61.7.100
Accept: */*
Connection: close
Host: 127.0.0.1
Icy-MetaData: 1


[AVIOContext @ 0x11e6046a0] Statistics: 292528 bytes written, 0 seeks, 9 writeouts
[hls @ 0x104513bb0] Opening 'http://127.0.0.1/api/streams/stream.m3u8' for writing
[http @ 0x600002e08000] Setting default whitelist 'http,https,tls,rtp,tcp,udp,crypto,httpproxy,data'
[tcp @ 0x600003508000] Original list of addresses:
[tcp @ 0x600003508000] Address 127.0.0.1
[tcp @ 0x600003508000] Interleaved list of addresses:
[tcp @ 0x600003508000] Address 127.0.0.1
[tcp @ 0x600003508000] Starting connection attempt to 127.0.0.1
[tcp @ 0x600003508000] Successfully connected to 127.0.0.1
[http @ 0x600002e08000] request: PUT /api/streams/stream.m3u8 HTTP/1.1
Transfer-Encoding: chunked
User-Agent: Lavf/61.7.100
Accept: */*
Connection: close
Host: 127.0.0.1
Icy-MetaData: 1


EXT-X-MEDIA-SEQUENCE:0
[AVIOContext @ 0x11e6046a0] Statistics: 188 bytes written, 0 seeks, 1 writeouts
[out#0/hls @ 0x600002e20000] Output file #0 (http://127.0.0.1/api/streams/stream.m3u8):
[out#0/hls @ 0x600002e20000] Output stream #0:0 (video): 606 frames encoded; 606 packets muxed (1658371 bytes); 
[out#0/hls @ 0x600002e20000] Output stream #0:1 (audio): 940 frames encoded (962560 samples); 941 packets muxed (5714 bytes); 
[out#0/hls @ 0x600002e20000] Total: 1547 packets (1664085 bytes) muxed
[out#0/hls @ 0x600002e20000] video:1620KiB audio:6KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: unknown
frame= 606 fps= 24 q=-1.0 Lsize=N/A time=00:00:20.05 bitrate=N/A dup=3 drop=0 speed=0.805x 
[libx264 @ 0x104412220] frame I:4 Avg QP:16.30 size:111883
[libx264 @ 0x104412220] frame P:228 Avg QP:21.27 size: 5200
[libx264 @ 0x104412220] frame B:374 Avg QP:22.11 size: 66
[libx264 @ 0x104412220] consecutive B-frames: 7.8% 27.7% 6.4% 58.1%
[libx264 @ 0x104412220] mb I I16..4: 31.8% 13.1% 55.2%
[libx264 @ 0x104412220] mb P I16..4: 0.6% 1.3% 1.2% P16..4: 13.0% 1.6% 0.8% 0.0% 0.0% skip:81.6%
[libx264 @ 0x104412220] mb B I16..4: 0.0% 0.0% 0.0% B16..8: 0.5% 0.0% 0.0% direct: 0.1% skip:99.4% L0:61.6% L1:37.6% BI: 0.8%
[libx264 @ 0x104412220] 8x8 transform intra:31.6% inter:36.3%
[libx264 @ 0x104412220] coded y,uvDC,uvAC intra: 68.0% 70.6% 46.0% inter: 1.6% 1.9% 0.1%
[libx264 @ 0x104412220] i16 v,h,dc,p: 59% 22% 14% 5%
[libx264 @ 0x104412220] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 13% 33% 24% 3% 5% 3% 5% 4% 9%
[libx264 @ 0x104412220] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 14% 28% 16% 4% 9% 5% 7% 7% 10%
[libx264 @ 0x104412220] i8c dc,h,v,p: 49% 29% 11% 11%
[libx264 @ 0x104412220] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x104412220] kb/s:656.51
[aac @ 0x104452030] Qavg: 65536.000
[in#0/mpegts @ 0x60000272c000] Input file #0 (srt://127.0.0.1:9090/?streamid=output/live/81adfd9dde3e):
[in#0/mpegts @ 0x60000272c000] Input stream #0:0 (video): 603 packets read (3683249 bytes); 603 frames decoded; 0 decode errors; 
[in#0/mpegts @ 0x60000272c000] Input stream #0:1 (audio): 940 packets read (407647 bytes); 940 frames decoded; 0 decode errors (962560 samples); 
[in#0/mpegts @ 0x60000272c000] Total: 1543 packets (4090896 bytes) demuxed
[AVIOContext @ 0x11f904140] Statistics: 4438868 bytes read, 0 seeks



I tried to use output file instead of -method PUT and -flush-packets 1, but it didn't help.


Is it possible to send the latest segment files before the SRT closes the stream connection ?