
Recherche avancée
Autres articles (54)
-
Submit bugs and patches
13 avril 2011Unfortunately a software is never perfect.
If you think you have found a bug, report it using our ticket system. Please to help us to fix it by providing the following information : the browser you are using, including the exact version as precise an explanation as possible of the problem if possible, the steps taken resulting in the problem a link to the site / page in question
If you think you have solved the bug, fill in a ticket and attach to it a corrective patch.
You may also (...) -
HTML5 audio and video support
13 avril 2011, parMediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
For older browsers the Flowplayer flash fallback is used.
MediaSPIP allows for media playback on major mobile platforms with the above (...) -
De l’upload à la vidéo finale [version standalone]
31 janvier 2010, parLe chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
Upload et récupération d’informations de la vidéo source
Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...)
Sur d’autres sites (5908)
-
Anomalie #4729 (Nouveau) : problème d’affichage dans la colone date
13 avril 2021, par Franck DHello, j’ai essayer en local mais aussi chez ovh en php 8 et cela fait pareil.
spip SPIP 3.3.0-dev GIT [master : 235be9bc] sans même un article dedansInstallation d’un spip tout neuf vierge avec uniquement gd2 et les miniatures d’aciver et le plug simplog que j’ai eu via svp
J’ai fait l’ajout d’un fichier mes_options après l’installation avec dedans :
define(’_NO_CACHE’, -1) ;
define(’_INTERDIRE_COMPACTE_HEAD_ECRIRE’, true) ;
error_reporting(E_ALL^E_NOTICE) ;
ini_set ("display_errors", "On") ;
define(’SPIP_ERREUR_REPORT’,E_ALL) ;
$GLOBALS[’taille_des_logs’] = 500 ;
define(’_MAX_LOG’, 500000) ;
define(’_LOG_FILELINE’,true) ;
define(’_LOG_FILTRE_GRAVITE’,8) ;
define(’_DEBUG_SLOW_QUERIES’, true) ;
define(’_BOUCLE_PROFILER’, 5000) ;Je viens de me rendre compte qu’il y a un problème, si je clique pour un affichage à deux ans, pour un tableau (voir copie d’écran)
-
Avoiding ffmpeg audio drift for live dash output
22 mai 2021, par mdaleHave people experienced playback drift with ffmpeg based dash segment generation ? For example :


ffmpeg -threads 2 -re -fflags +genpts -stream_loop -1 -i AVSyncTest.mp4 \
-af "aresample=async=1:min_hard_comp=0.100000:first_pts=0" \
-c:v:0 libx264 \
-pix_fmt:0 yuv420p \
-preset:0 medium \
-a53cc:0 1 \
-nal-hrd:0 cbr \
-x264opts:0 scenecut=-1:rc_lookahead=0 -b:v:0 5000k -bufsize:0 500k \
-force_key_frames:0 "expr:gte(t,n_forced*2)" \
-bf:0 8 \
-r 30 \
-c:a:0 aac -ar 48000 \
-b:a:1 96k \
-f tee -map 0:v \
-map 0:a "[f=dash:media_seg_name='chunk-stream_\$RepresentationID\$-\$Number%05d\$.mp4':init_seg_name='init-stream_\$RepresentationID\$.mp4':seg_duration=2:utc_timing_url=https\\\://time.akamai.com\\?iso:remove_at_exit=0:use_timeline=0:http_user_agent=ffmpeg_encoder.0:streaming=1:index_correction=1:timeout=1:dash_segment_type=mp4:method=PUT:http_persistent=1:adaptation_sets='id=0,streams=v\:0 id=1,streams=a' ]http://localhost:5000/out.mpd "



After a bit of playback it starts audio starts to drift. Analysis of the moof (with tools like mp4box) shows 1024 sample size with 93 Moofs with Moof->traf->default_sample_duration=1024 at 48000 sample rate giving segment duration of 1.984 seconds with every 3rd segment or so with 92 Moofs with duration of 1.962 … While each segment starts aligned ( if you reset playback you get alignment) it drifts against continuous playback.


Other examples like Akamai’s public stream. show 94 Moofs or 2.005 duration with every 3rd segment or so at the 1.984 duration. (what one would want)


Akamai’s (presumably ffmepg based) stream is averaging out to the 2s target where the above ffmpeg command is not …


-
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 ?