
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 (36)
-
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 septembre 2013, parCertains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;
-
Les formats acceptés
28 janvier 2010, parLes commandes suivantes permettent d’avoir des informations sur les formats et codecs gérés par l’installation local de ffmpeg :
ffmpeg -codecs ffmpeg -formats
Les format videos acceptés en entrée
Cette liste est non exhaustive, elle met en exergue les principaux formats utilisés : h264 : H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 m4v : raw MPEG-4 video format flv : Flash Video (FLV) / Sorenson Spark / Sorenson H.263 Theora wmv :
Les formats vidéos de sortie possibles
Dans un premier temps on (...) -
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 (4716)
-
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 ?


-
FFmpeg overlay PNG has not necessary black borders
24 mars 2021, par Mikołaj HenklewskiI have a few PNG files that I want to add to the video :


- 

- Two lines text
- Circle
- Red letters
- White letters










but on the final video, some of them have black borders (they do not have it originally !) Actual Result.. The question is why FFmpeg is adding it, and how to avoid adding it ? Command is :


ffmpeg -i 3d9678e2e58c4d08a24363468d0cfd3e.mp4 -i caption-1616544596077.png -i caption-1616544596080.png -i caption-1616544597262.png -i caption-1616544598027.png -filter_complex "[1:v]format=rgba,colorchannelmixer=aa=1[1_alpha];
[1_alpha]setpts=1.0*PTS[1_alpha_speed]; [1_alpha_speed]rotate=6.178465552059927:c=none:ow=rotw(6.178465552059927):oh=roth(6.178465552059927)[1_alpha_speed_rot];
[1_alpha_speed_rot]scale=iw/2:ih/2[1_alpha_speed_rot_scale];
[0:v][1_alpha_speed_rot_scale]overlay=x=288:y=50:enable='between(t,0,3.2)':format=rgb[1_out];
[2:v]format=rgba,colorchannelmixer=aa=1[2_alpha];
[2_alpha]setpts=1.0*PTS[2_alpha_speed];
[2_alpha_speed]rotate=0.0:c=none:ow=rotw(0.0):oh=roth(0.0)[2_alpha_speed_rot];
[2_alpha_speed_rot]scale=iw/2:ih/2[2_alpha_speed_rot_scale];
[1_out][2_alpha_speed_rot_scale]overlay=x=589:y=71:enable='between(t,0,3.2)':format=rgb[2_out];
[3:v]format=rgba,colorchannelmixer=aa=1[3_alpha];
[3_alpha]setpts=1.0*PTS[3_alpha_speed]; [3_alpha_speed]rotate=6.178465552059927:c=none:ow=rotw(6.178465552059927):oh=roth(6.178465552059927)[3_alpha_speed_rot];
[3_alpha_speed_rot]scale=iw/2:ih/2[3_alpha_speed_rot_scale];
[2_out][3_alpha_speed_rot_scale]overlay=x=409:y=104:enable='between(t,0,3.2)':format=rgb[3_out];
[4:v]format=rgba,colorchannelmixer=aa=1[4_alpha];
[4_alpha]setpts=1.0*PTS[4_alpha_speed];
[4_alpha_speed]rotate=0.0:c=none:ow=rotw(0.0):oh=roth(0.0)[4_alpha_speed_rot];
[4_alpha_speed_rot]scale=iw/2:ih/2[4_alpha_speed_rot_scale];
[3_out][4_alpha_speed_rot_scale]overlay=x=593:y=337:enable='between(t,0,3.2)':format=rgb" -preset ultrafast -crf 23 d4d85756d7b54735b95720f9280bf6e2.mp4



Here is also log from ffmpeg :


ffmpeg version 4.3.2 Copyright (c) 2000-2021 the FFmpeg developers
 built with Apple clang version 12.0.0 (clang-1200.0.32.29)
 configuration: --prefix=/usr/local/Cellar/ffmpeg/4.3.2_1 --enable-shared --enable-pthreads --enable-version3 --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libdav1d --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-videotoolbox
 libavutil 56. 51.100 / 56. 51.100
 libavcodec 58. 91.100 / 58. 91.100
 libavformat 58. 45.100 / 58. 45.100
 libavdevice 58. 10.100 / 58. 10.100
 libavfilter 7. 85.100 / 7. 85.100
 libavresample 4. 0. 0 / 4. 0. 0
 libswscale 5. 7.100 / 5. 7.100
 libswresample 3. 7.100 / 3. 7.100
 libpostproc 55. 7.100 / 55. 7.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '3d9678e2e58c4d08a24363468d0cfd3e.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf58.77.100
 Duration: 00:00:03.72, start: 0.000000, bitrate: 2333 kb/s
 Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 2331 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
 Metadata:
 handler_name : VideoHandler
Input #1, png_pipe, from 'caption-1616544596077.png':
 Duration: N/A, bitrate: N/A
 Stream #1:0: Video: png, rgba(pc), 1382x884, 25 tbr, 25 tbn, 25 tbc
Input #2, png_pipe, from 'caption-1616544596080.png':
 Duration: N/A, bitrate: N/A
 Stream #2:0: Video: png, rgba(pc), 612x612, 25 tbr, 25 tbn, 25 tbc
Input #3, png_pipe, from 'caption-1616544597262.png':
 Duration: N/A, bitrate: N/A
 Stream #3:0: Video: png, rgba(pc), 720x266, 25 tbr, 25 tbn, 25 tbc
Input #4, png_pipe, from 'caption-1616544598027.png':
 Duration: N/A, bitrate: N/A
 Stream #4:0: Video: png, rgba(pc), 304x170, 25 tbr, 25 tbn, 25 tbc
File 'd4d85756d7b54735b95720f9280bf6e2.mp4' already exists. Overwrite? [y/N] y
Stream mapping:
 Stream #0:0 (h264) -> overlay:main
 Stream #1:0 (png) -> format
 Stream #2:0 (png) -> format
 Stream #3:0 (png) -> format
 Stream #4:0 (png) -> format
 overlay -> Stream #0:0 (libx264)
Press [q] to stop, [?] for help
[libx264 @ 0x7fb2c7015a00] using SAR=1/1
[libx264 @ 0x7fb2c7015a00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x7fb2c7015a00] profile High 4:4:4 Predictive, level 3.1, 4:4:4, 8-bit
[libx264 @ 0x7fb2c7015a00] 264 - core 161 r3048 b86ae3c - H.264/MPEG-4 AVC codec - Copyleft 2003-2021 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=6 threads=18 lookahead_threads=3 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=25 scenecut=0 intra_refresh=0 rc=crf mbtree=0 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=0
Output #0, mp4, to 'd4d85756d7b54735b95720f9280bf6e2.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf58.45.100
 Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv444p, 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 25 fps, 12800 tbn, 25 tbc (default)
 Metadata:
 encoder : Lavc58.91.100 libx264
 Side data:
 cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
frame= 17 fps=0.0 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= frame= 93 fps=0.0 q=-1.0 Lsize= 972kB time=00:00:03.68 bitrate=2164.1kbits/s speed=4.01x
video:971kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.121794%
[libx264 @ 0x7fb2c7015a00] frame I:1 Avg QP:20.00 size: 90127
[libx264 @ 0x7fb2c7015a00] frame P:92 Avg QP:18.23 size: 9821
[libx264 @ 0x7fb2c7015a00] mb I I16..4: 100.0% 0.0% 0.0%
[libx264 @ 0x7fb2c7015a00] mb P I16..4: 1.7% 0.0% 0.0% P16..4: 19.9% 0.0% 0.0% 0.0% 0.0% skip:78.4%
[libx264 @ 0x7fb2c7015a00] coded y,u,v intra: 33.9% 3.1% 5.2% inter: 8.6% 0.9% 0.8%
[libx264 @ 0x7fb2c7015a00] i16 v,h,dc,p: 29% 34% 19% 18%
[libx264 @ 0x7fb2c7015a00] kb/s:2136.99



-
ffmpeg : Create a fake shadow below alpha channel webm/png sequence
6 mai 2021, par Beneos BattlemapsPurpose : I'd like to render out animated 3D meshes as png sequence to use them as animated tokens for virtual tabletop games. To make the mesh looks more natural I'd like to create a fake show beneath the actual token.


Problem : I have a png sequence
1
(as well as a webm file created with ffmpet out of this png sequence if it makes it easier) with alpha channel. To create the webm I use :
ffmpeg -framerate 24 -f image2 -i Idle_Top.%04d.png -c:v libvpx-vp9 -crf 25 -pix_fmt yuva420p Idle_Top.webm
(If its relevant). I'd like to render out the png sequence to a webm file that have the current images as well as the transparent shadow beneath the token combined.

Possible workflow : I think a good way to achieve the wanted shadow effect is to use the alpha channel image as a mask on a black picture with the same resolution as the source image
2
. Then you have a complete black version of the image. Then you need to place this image beneath the colored image and make a offset of 10px left and 10px down to create the ilusion of perspective3
. At the end the black image below the colored image must have a transparency as well ( 30% visibility should be enough)4
.



Assets : I've put the webm file and the png files on my gDrive https://drive.google.com/drive/folders/1wznGaPwhKc2UyPpSZBSISa1gs3oixsHR?usp=sharing


Though I work with ffmpeg on a regular basis I have no clue where to start. Can you please help me out with this interesting problem ?


Best regards
Ben