
Recherche avancée
Médias (1)
-
Revolution of Open-source and film making towards open film making
6 octobre 2011, par
Mis à jour : Juillet 2013
Langue : English
Type : Texte
Autres articles (4)
-
Supporting all media types
13 avril 2011, parUnlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)
-
Keeping control of your media in your hands
13 avril 2011, parThe vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...) -
Le plugin : Podcasts.
14 juillet 2010, parLe problème du podcasting est à nouveau un problème révélateur de la normalisation des transports de données sur Internet.
Deux formats intéressants existent : Celui développé par Apple, très axé sur l’utilisation d’iTunes dont la SPEC est ici ; Le format "Media RSS Module" qui est plus "libre" notamment soutenu par Yahoo et le logiciel Miro ;
Types de fichiers supportés dans les flux
Le format d’Apple n’autorise que les formats suivants dans ses flux : .mp3 audio/mpeg .m4a audio/x-m4a .mp4 (...)
Sur d’autres sites (3524)
-
ffmpeg to count words in audio text
17 juillet 2020, par Joel ParkerI am new to signal processing but wanted to take an audio file and determine how many words are spoken in one minute. I was thinking I could use the top of the loudness peaks to count the words but do not quite understand how to achieve this.


First I used ffmpeg to remove the audio from the mp4 file I am using :


ffmpeg -i courtcase.mp4 audiofile.mp4


Then I tried to detect the loudness :


ffmpeg -t 10 -i audiofile.mp4 -af "volumedetect" -f null /dev/null


This produced some statistical information :


video:157kB audio:1723kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
[Parsed_volumedetect_0 @ 0x7fa6b26068c0] n_samples: 882000
[Parsed_volumedetect_0 @ 0x7fa6b26068c0] mean_volume: -20.6 dB
[Parsed_volumedetect_0 @ 0x7fa6b26068c0] max_volume: -4.0 dB
[Parsed_volumedetect_0 @ 0x7fa6b26068c0] histogram_4db: 64
[Parsed_volumedetect_0 @ 0x7fa6b26068c0] histogram_5db: 88
[Parsed_volumedetect_0 @ 0x7fa6b26068c0] histogram_6db: 220
[Parsed_volumedetect_0 @ 0x7fa6b26068c0] histogram_7db: 843




I am not sure why it still shows 157kB of video, maybe my first command is wrong ?


Anyway, assuming the file is just audio I found this command, which I believe shows dbm slices for 10 seconds :


ffmpeg -i audiofile.mp4 -af astats=metadata=1:reset=1,ametadata=print:key=lavfi.astats.Overall.RMS_level:file=- -f null -



and it produced a bunch of output :


video:5782kB audio:63504kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
[Parsed_astats_0 @ 0x7ff74c004bc0] Channel: 1
[Parsed_astats_0 @ 0x7ff74c004bc0] DC offset: 0.000240
[Parsed_astats_0 @ 0x7ff74c004bc0] Min level: -0.166239
[Parsed_astats_0 @ 0x7ff74c004bc0] Max level: 0.127112
[Parsed_astats_0 @ 0x7ff74c004bc0] Min difference: 0.000003
[Parsed_astats_0 @ 0x7ff74c004bc0] Max difference: 0.025335
[Parsed_astats_0 @ 0x7ff74c004bc0] Mean difference: 0.004455
[Parsed_astats_0 @ 0x7ff74c004bc0] RMS difference: 0.006165
[Parsed_astats_0 @ 0x7ff74c004bc0] Peak level dB: -15.585332
[Parsed_astats_0 @ 0x7ff74c004bc0] RMS level dB: -26.251394
[Parsed_astats_0 @ 0x7ff74c004bc0] RMS peak dB: -26.251394
[Parsed_astats_0 @ 0x7ff74c004bc0] RMS trough dB: -26.251394
[Parsed_astats_0 @ 0x7ff74c004bc0] Crest factor: 3.414311
[Parsed_astats_0 @ 0x7ff74c004bc0] Flat factor: 0.000000
[Parsed_astats_0 @ 0x7ff74c004bc0] Peak count: 2
[Parsed_astats_0 @ 0x7ff74c004bc0] Noise floor dB: nan
[Parsed_astats_0 @ 0x7ff74c004bc0] Noise floor count: 0
[Parsed_astats_0 @ 0x7ff74c004bc0] Bit depth: 32/32
[Parsed_astats_0 @ 0x7ff74c004bc0] Dynamic range: 72.297593
[Parsed_astats_0 @ 0x7ff74c004bc0] Zero crossings: 74
[Parsed_astats_0 @ 0x7ff74c004bc0] Zero crossings rate: 0.072266
[Parsed_astats_0 @ 0x7ff74c004bc0] Number of NaNs: 0
[Parsed_astats_0 @ 0x7ff74c004bc0] Number of Infs: 0
[Parsed_astats_0 @ 0x7ff74c004bc0] Number of denormals: 0
[Parsed_astats_0 @ 0x7ff74c004bc0] Channel: 2
[Parsed_astats_0 @ 0x7ff74c004bc0] DC offset: 0.000240
[Parsed_astats_0 @ 0x7ff74c004bc0] Min level: -0.166239
[Parsed_astats_0 @ 0x7ff74c004bc0] Max level: 0.127112
[Parsed_astats_0 @ 0x7ff74c004bc0] Min difference: 0.000003
[Parsed_astats_0 @ 0x7ff74c004bc0] Max difference: 0.025335
[Parsed_astats_0 @ 0x7ff74c004bc0] Mean difference: 0.004455
[Parsed_astats_0 @ 0x7ff74c004bc0] RMS difference: 0.006165
[Parsed_astats_0 @ 0x7ff74c004bc0] Peak level dB: -15.585332
[Parsed_astats_0 @ 0x7ff74c004bc0] RMS level dB: -26.251394
[Parsed_astats_0 @ 0x7ff74c004bc0] RMS peak dB: -26.251394
[Parsed_astats_0 @ 0x7ff74c004bc0] RMS trough dB: -26.251394
[Parsed_astats_0 @ 0x7ff74c004bc0] Crest factor: 3.414311
[Parsed_astats_0 @ 0x7ff74c004bc0] Flat factor: 0.000000
[Parsed_astats_0 @ 0x7ff74c004bc0] Peak count: 2
[Parsed_astats_0 @ 0x7ff74c004bc0] Noise floor dB: nan
[Parsed_astats_0 @ 0x7ff74c004bc0] Noise floor count: 0
[Parsed_astats_0 @ 0x7ff74c004bc0] Bit depth: 32/32
[Parsed_astats_0 @ 0x7ff74c004bc0] Dynamic range: 72.297593
[Parsed_astats_0 @ 0x7ff74c004bc0] Zero crossings: 74
[Parsed_astats_0 @ 0x7ff74c004bc0] Zero crossings rate: 0.072266
[Parsed_astats_0 @ 0x7ff74c004bc0] Number of NaNs: 0
[Parsed_astats_0 @ 0x7ff74c004bc0] Number of Infs: 0
[Parsed_astats_0 @ 0x7ff74c004bc0] Number of denormals: 0
[Parsed_astats_0 @ 0x7ff74c004bc0] Overall
[Parsed_astats_0 @ 0x7ff74c004bc0] DC offset: 0.000240
[Parsed_astats_0 @ 0x7ff74c004bc0] Min level: -0.166239
[Parsed_astats_0 @ 0x7ff74c004bc0] Max level: 0.127112
[Parsed_astats_0 @ 0x7ff74c004bc0] Min difference: 0.000003
[Parsed_astats_0 @ 0x7ff74c004bc0] Max difference: 0.025335
[Parsed_astats_0 @ 0x7ff74c004bc0] Mean difference: 0.004455
[Parsed_astats_0 @ 0x7ff74c004bc0] RMS difference: 0.006165
[Parsed_astats_0 @ 0x7ff74c004bc0] Peak level dB: -15.585332
[Parsed_astats_0 @ 0x7ff74c004bc0] RMS level dB: -26.251394
[Parsed_astats_0 @ 0x7ff74c004bc0] RMS peak dB: -26.251394
[Parsed_astats_0 @ 0x7ff74c004bc0] RMS trough dB: -26.251394
[Parsed_astats_0 @ 0x7ff74c004bc0] Flat factor: 0.000000
[Parsed_astats_0 @ 0x7ff74c004bc0] Peak count: 2.000000
[Parsed_astats_0 @ 0x7ff74c004bc0] Noise floor dB: nan
[Parsed_astats_0 @ 0x7ff74c004bc0] Noise floor count: 0.000000
[Parsed_astats_0 @ 0x7ff74c004bc0] Bit depth: 32/32
[Parsed_astats_0 @ 0x7ff74c004bc0] Number of samples: 1024
[Parsed_astats_0 @ 0x7ff74c004bc0] Number of NaNs: 0.000000
[Parsed_astats_0 @ 0x7ff74c004bc0] Number of Infs: 0.000000
[Parsed_astats_0 @ 0x7ff74c004bc0] Number of denormals: 0.000000
ts_time:368.268
lavfi.astats.Overall.RMS_level=-29.670653
frame:15861 pts:16241664 pts_time:368.292
lavfi.astats.Overall.RMS_level=-30.851195
frame:15862 pts:16242688 pts_time:368.315
lavfi.astats.Overall.RMS_level=-30.700943
frame:15863 pts:16243712 pts_time:368.338
lavfi.astats.Overall.RMS_level=-33.638604
frame:15864 pts:16244736 pts_time:368.361
lavfi.astats.Overall.RMS_level=-21.873170
frame:15865 pts:16245760 pts_time:368.385
lavfi.astats.Overall.RMS_level=-20.001936
frame:15866 pts:16246784 pts_time:368.408
lavfi.astats.Overall.RMS_level=-18.571318
frame:15867 pts:16247808 pts_time:368.431
lavfi.astats.Overall.RMS_level=-18.470749
frame:15868 pts:16248832 pts_time:368.454
lavfi.astats.Overall.RMS_level=-19.506688
frame:15869 pts:16249856 pts_time:368.477
lavfi.astats.Overall.RMS_level=-21.270579
frame:15870 pts:16250880 pts_time:368.501
lavfi.astats.Overall.RMS_level=-25.007862
frame:15871 pts:16251904 pts_time:368.524
lavfi.astats.Overall.RMS_level=-25.654372
frame:15872 pts:16252928 pts_time:368.547
lavfi.astats.Overall.RMS_level=-24.948357
frame:15873 pts:16253952 pts_time:368.57
lavfi.astats.Overall.RMS_level=-30.523540
frame:15874 pts:16254976 pts_time:368.594
....



This is where I'm stuck. I think I have the information I need to determine the number of words spoken in a minute, except I don't know how to put all together. Also the last command just measures 10s slices, would I need to change that to 60s ? Does anyone know how to do this or if there is a better approach ?


-
lavu/riscv : count bytes rather than words for bswap32
27 juillet 2024, par Rémi Denis-Courmont -
In Advanced SubStation Alpha (Ass file) how can I animate each word as it is spoken ?
29 mai 2024, par Nick PowersHello I am trying to get Ass (Advanced SubStation Alpha) code to animate (highlight in green) each word as it is spoken and then have it revert back to white afterwards. What happens with my code is very odd. At first I cannot even see any text. It then appears with multiple lines overlapped, partially hanging off the screen. From this point it "kind of" works. I can see the desired highlighting happening but because the text is all jumbled and overlapping it can hardly be called a success.


In case it is relevant I am using ffmeg to burn in the subtitles. I am using the following command :


ffmpeg -i FortuneTeller1.mp4 -vf "ass=FortuneTeller1.ass" Subtitled.mp4


The resolution of the source video is 1080x1920 (vertical).


My ultimate goal is to burn Hormozi style text with per word animations. I'm far from that so any input would be appreciated ! If you need any additional info/code to help troubleshoot this please let me know what you need and I will provide it.


I have the following Ass code in the Events section :


Dialogue: 0,0:00:02.48,0:00:03.28,Default,,0,0,0,,{\c&H00FF00&\pos(640,480)}In{\c&H00FFFFFF&} the tapestry of time, a visitor from shadows past shall emerge, igniting flames of forgotten yearnings.
Dialogue: 0,0:00:03.48,0:00:04.28,Default,,0,0,0,,In {\c&H00FF00&\pos(640,480)}the{\c&H00FFFFFF&} tapestry of time, a visitor from shadows past shall emerge, igniting flames of forgotten yearnings.
Dialogue: 0,0:00:04.68,0:00:09.68,Default,,0,0,0,,In the {\c&H00FF00&\pos(640,480)}tapestry{\c&H00FFFFFF&} of time, a visitor from shadows past shall emerge, igniting flames of forgotten yearnings.
Dialogue: 0,0:00:09.88,0:00:01.48,Default,,0,0,0,,In the tapestry{\c&H00FF00&\pos(640,480)}of{\c&H00FFFFFF&} time, a visitor from shadows past shall emerge, igniting flames of forgotten yearnings.
Dialogue: 0,0:00:02.08,0:00:04.89,Default,,0,0,0,,In the tapestry of {\c&H00FF00&\pos(640,480)}time{\c&H00FFFFFF&}, a visitor from shadows past shall emerge, igniting flames of forgotten yearnings.
Dialogue: 0,0:00:06.89,0:00:10.49,Default,,0,0,0,,In the tapestry of time,{\c&H00FF00&\pos(640,480)}a{\c&H00FFFFFF&} visitor from shadows past shall emerge, igniting flames of forgotten yearnings.
Dialogue: 0,0:00:10.89,0:00:03.29,Default,,0,0,0,,In the tapestry of time, a {\c&H00FF00&\pos(640,480)}visitor{\c&H00FFFFFF&} from shadows past shall emerge, igniting flames of forgotten yearnings.
Dialogue: 0,0:00:03.69,0:00:07.49,Default,,0,0,0,,In the tapestry of time, a visitor {\c&H00FF00&\pos(640,480)}from{\c&H00FFFFFF&} shadows past shall emerge, igniting flames of forgotten yearnings.
Dialogue: 0,0:00:08.09,0:00:11.49,Default,,0,0,0,,In the tapestry of time, a visitor from {\c&H00FF00&\pos(640,480)}shadows{\c&H00FFFFFF&} past shall emerge, igniting flames of forgotten yearnings.
Dialogue: 0,0:00:11.89,0:00:04.89,Default,,0,0,0,,In the tapestry of time, a visitor from shadows {\c&H00FF00&\pos(640,480)}past{\c&H00FFFFFF&} shall emerge, igniting flames of forgotten yearnings.
Dialogue: 0,0:00:05.29,0:00:03.61,Default,,0,0,0,,In the tapestry of time, a visitor from shadows past {\c&H00FF00&\pos(640,480)}shall{\c&H00FFFFFF&} emerge, igniting flames of forgotten yearnings.
Dialogue: 0,0:00:03.65,0:00:04.09,Default,,0,0,0,,In the tapestry of time, a visitor from shadows past shall {\c&H00FF00&\pos(640,480)}emerge{\c&H00FFFFFF&}, igniting flames of forgotten yearnings.
Dialogue: 0,0:00:04.13,0:00:04.57,Default,,0,0,0,,In the tapestry of time, a visitor from shadows past shall emerge, {\c&H00FF00&\pos(640,480)}igniting{\c&H00FFFFFF&} flames of forgotten yearnings.
Dialogue: 0,0:00:04.61,0:00:04.97,Default,,0,0,0,,In the tapestry of time, a visitor from shadows past shall emerge, igniting {\c&H00FF00&\pos(640,480)}flames{\c&H00FFFFFF&} of forgotten yearnings.
Dialogue: 0,0:00:05.03,0:00:05.09,Default,,0,0,0,,In the tapestry of time, a visitor from shadows past shall emerge, igniting flames {\c&H00FF00&\pos(640,480)}of{\c&H00FFFFFF&} forgotten yearnings.
Dialogue: 0,0:00:05.13,0:00:05.55,Default,,0,0,0,,In the tapestry of time, a visitor from shadows past shall emerge, igniting flames of {\c&H00FF00&\pos(640,480)}forgotten{\c&H00FFFFFF&} yearnings.
Dialogue: 0,0:00:05.59,0:00:06.31,Default,,0,0,0,,In the tapestry of time, a visitor from shadows past shall emerge, igniting flames of forgotten {\c&H00FF00&\pos(640,480)}yearnings.{\c&H00FFFFFF&}.