
Recherche avancée
Autres articles (48)
-
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 (...) -
Monitoring de fermes de MediaSPIP (et de SPIP tant qu’à faire)
31 mai 2013, parLorsque l’on gère plusieurs (voir plusieurs dizaines) de MediaSPIP sur la même installation, il peut être très pratique d’obtenir d’un coup d’oeil certaines informations.
Cet article a pour but de documenter les scripts de monitoring Munin développés avec l’aide d’Infini.
Ces scripts sont installés automatiquement par le script d’installation automatique si une installation de munin est détectée.
Description des scripts
Trois scripts Munin ont été développés :
1. mediaspip_medias
Un script de (...) -
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 (7541)
-
Revision 36945 : au final pas grand chose passe dans les fichiers de presets ... On ...
5 avril 2010, par kent1@… — Logau final pas grand chose passe dans les fichiers de presets ...
On repasse les codec et les bitrates dans la ligne de commande
On commence à améliorer grandement la conf -
Evolution #4445 (Nouveau) : Permettre de savoir si espace privé depuis tous les JS
22 février 2020, par RastaPopoulos ♥En JS, il semble que SPIP ne fournisse rien pour savoir si on est dans l’admin ou pas. Or c’est indispensable au moins pour certains appels d’URL, savoir si on doit avoir ../ avant ou pas (par ex pour les API mais pas que).
Le plugin Sélecteur générique fait ça en ajoutant depuis PHP une globale JS selecteur_test_espace_prive booléenne. Mais c’est pourri que chaque plugin doive faire ça. C’est SPIP qui devrait le fournir, comme test_espace_prive() en PHP quoi.
Du coup soit faut fournir une globale du même style, mais en plus propre SPIP fournit déjà une classe "jquery.spip", du coup ça devrait être un attribut ou une méthode de cette classe.
Par contre pour la place, à priori c’est pas dans ajaxCallback, puisque pour le faire solidement, c’est sûrement mieux que ce soit en utilisant la fonction PHP. Donc il faudrait que SPIP ajoute ça après le chargement de ajaxCallback, et qu’en PHP, ça rajoute un mini morceau de JS pour compléter jquery.spip avec un attribut qui dit où on est.
Après dans n’importe quel JS de plugin, on ferait facilement
if ($.spip.test_espace_prive()) { …
-
hls.js starting a beginning with ANDROID mobile (chrome, webview also) and not live *** but works very nice in deskto, ios .. hls.js 1.0.0 2021-04-01
27 avril 2021, par JintorI'm streaming a .m3u8 with the latest hls.js 1.0.0 (not rc) but version of 2021-04-01...


example : the stream began at 5pm, and now it's 5:15 pm...


the stream start at live point in almost all browsers


The pattern I see here : ALL browsers in android (tested in Android 10) won't start at live point, only at 0...


I did all the tests


• Safari desktop => stream live at 5:15


• Safari mobile => stream live at 5:15


• WebView (Android) => ••• ISSUE : the player starts the stream at 0 (5pm)


• WKWebView (apple IOS iphone,ipad) => stream live at 5:15


• Chrome Desktop (mac/win) => stream live at 5:15


• Chrome MOBILE (Android) => ••• ISSUE : the player starts the stream at 0 (5pm)


• Chrome MOBILE (iPhone) => stream live at 5:15


• Microsoft EDGE Desktop => stream live at 5:15


• Microsoft EDGE mobile (android) => ••• ISSUE : the player starts the stream at 0 (5pm)


• Firefox Desktop (mac/win) => stream live at 5:15


• Opera Desktop (mac/win) => stream live at 5:15


• Opera Mini (iPhone) => stream live at 5:15


• Opera Mini (android) => ••• ISSUE : the player starts the stream at 0 (5pm)


• Brave Desktop (mac/win) => stream live at 5:15


• Brave Mobile (iPhone) => stream live at 5:15


• Brave Mobile (android) => ••• ISSUE : the player starts the stream at 0 (5pm)


This code


<code class="echappe-js"><script src="https://cdn.jsdelivr.net/npm/hls.js@latest"></script>



<script>&#xA; var video = document.getElementById("video");&#xA; var videoSrc = "https://www.example1.com/streaming/index.m3u8";&#xA; if (video.canPlayType("application/vnd.apple.mpegurl")) {&#xA; video.src = videoSrc;&#xA; } else if (Hls.isSupported()) {&#xA; var config = {&#xA; autoStartLoad: true,&#xA; startPosition: -1,&#xA; debug: false,&#xA; capLevelOnFPSDrop: false,&#xA; capLevelToPlayerSize: false,&#xA; defaultAudioCodec: undefined,&#xA; initialLiveManifestSize: 1,&#xA; maxBufferLength: 30,&#xA; maxMaxBufferLength: 500,&#xA; backBufferLength: Infinity,&#xA; maxBufferSize: 60 * 1000 * 1000,&#xA; maxBufferHole: 0.5,&#xA; highBufferWatchdogPeriod: 2,&#xA; nudgeOffset: 0.1,&#xA; nudgeMaxRetry: 3,&#xA; maxFragLookUpTolerance: 0.25,&#xA; liveSyncDurationCount: 3,&#xA; liveMaxLatencyDurationCount: Infinity,&#xA; liveDurationInfinity: false,&#xA; enableWorker: true,&#xA; enableSoftwareAES: true,&#xA; manifestLoadingTimeOut: 10000,&#xA; manifestLoadingMaxRetry: 1,&#xA; manifestLoadingRetryDelay: 1000,&#xA; manifestLoadingMaxRetryTimeout: 64000,&#xA; startLevel: undefined,&#xA; levelLoadingTimeOut: 10000,&#xA; levelLoadingMaxRetry: 4,&#xA; levelLoadingRetryDelay: 1000,&#xA; levelLoadingMaxRetryTimeout: 64000,&#xA; fragLoadingTimeOut: 20000,&#xA; fragLoadingMaxRetry: 6,&#xA; fragLoadingRetryDelay: 1000,&#xA; fragLoadingMaxRetryTimeout: 64000,&#xA; startFragPrefetch: false,&#xA; testBandwidth: true,&#xA; progressive: false,&#xA; lowLatencyMode: true,&#xA; fpsDroppedMonitoringPeriod: 5000,&#xA; fpsDroppedMonitoringThreshold: 0.2,&#xA; appendErrorMaxRetry: 3,&#xA; enableWebVTT: true,&#xA; enableIMSC1: true,&#xA; enableCEA708Captions: true,&#xA; stretchShortVideoTrack: false,&#xA; maxAudioFramesDrift: 1,&#xA; forceKeyFrameOnDiscontinuity: true,&#xA; abrEwmaFastLive: 3.0,&#xA; abrEwmaSlowLive: 9.0,&#xA; abrEwmaFastVoD: 3.0,&#xA; abrEwmaSlowVoD: 9.0,&#xA; abrEwmaDefaultEstimate: 500000,&#xA; abrBandWidthFactor: 0.95,&#xA; abrBandWidthUpFactor: 0.7,&#xA; abrMaxWithRealBitrate: false,&#xA; maxStarvationDelay: 4,&#xA; maxLoadingDelay: 4,&#xA; minAutoBitrate: 0,&#xA; emeEnabled: false&#xA; };&#xA; var hls = new Hls(config);&#xA; hls.loadSource(videoSrc);&#xA; hls.attachMedia(video);&#xA; } &#xA; video.addEventListener("loadedmetadata", function(){ video.muted = true; video.play(); }, false);&#xA; </script>



// here I added video.muted = true ; video.play() ; to auto start, if I try to autoplay unmuted, many browsers refuse this command...


// playsinline="true" is NEEDED for safari


••••••• THE FFMPEG COMMAND (working : it allows me to have 3 to 4 seconds delay ••••••


ffmpeg -re -i input.x -c:a aac -c:v libx264 
-movflags +dash -preset ultrafast 
-crf 28 -refs 4 -qmin 4 -pix_fmt yuv420p 
-tune zerolatency -c:a aac -ac 2 -profile:v main 
-flags -global_header -bufsize 969k 
-hls_time 1 -hls_list_size 0 -g 30 
-start_number 0 -streaming 1 -hls_playlist 1 
-lhls 1 -hls_playlist_type event -f hls path_to_index.m3u8



•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••


How can this be fixed ?


How can I make play at live point on load in android MOBILE ?