
Recherche avancée
Médias (3)
-
Exemple de boutons d’action pour une collection collaborative
27 février 2013, par
Mis à jour : Mars 2013
Langue : français
Type : Image
-
Exemple de boutons d’action pour une collection personnelle
27 février 2013, par
Mis à jour : Février 2013
Langue : English
Type : Image
-
Collections - Formulaire de création rapide
19 février 2013, par
Mis à jour : Février 2013
Langue : français
Type : Image
Autres articles (76)
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
Creating farms of unique websites
13 avril 2011, parMediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...) -
Le profil des utilisateurs
12 avril 2011, parChaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...)
Sur d’autres sites (9255)
-
Controlling ffmpeg at runtime with zmq
3 avril 2023, par GavinI want to dynamically change the rectilinear view (eg its yaw) of a 360 video as it plays.


basic command


To take a 360 video and show a flat/normal view at a yaw perspective of 60 degrees


ffmpeg -i input360.mp4 -vf "v360=input=e:rectilinear:yaw=60,scale=iw/4:-1" out60.mp4

This works fine.

Changing the yaw during playback


I understand ffmpeg has two methods to change filter params at runtime ; sendcmd (file based) and zmq (message based)


I got sendcmd method working, but am struggling to understand zmq syntax and use. ffmpeg's zmq docs are pretty sparse.
I am using a local Windows 10 PC


sendcmd


ffplay -i input360.mp4 -vf "sendcmd=f=cmd.txt,v360=input=e:rectilinear:reset_rot=1,scale=iw/4:-1"


with a cmd.txt file


0-5 [expr] v360 yaw 'lerp(0,90,TI)';
5-10 [expr] v360 yaw 'lerp(90,0,TI)';



result : yaw changes from 0 to 90 degrees from t=0-5s and then 90 to 0 degrees from t=5-10s. Perfect


zmq


ffplay -i input360.mp4 -vf "v360=input=e:rectilinear:reset_rot=1,zmq,scale=iw/4:-1"


I got zmqsend from ffmpeg-tools.zip and added to my ffmpeg bin directory


- 

-
execute above ffplay command from terminal window #1 - and see video playing


-
Open terminal window #2 and execute : echo v360 yaw 90 > zmqsend








result : no change to video yaw. No errors either


What am I doing wrong ? Im not sure if my ffmpeg command is wrong, or if my zmq message does not reach ffmpeg (or both). I checked my ffmpeg v2022-10-10 config has —enable-libzmq


-
-
FFMPEG - How to pipe RMS_level and pts_time metadata without generating unwanted metadata
6 février 2020, par Tovi NewmanI am trying to find the loudest (highest rms_level) moment in an audio file, but I need to pipe the metadata rather than write to a file.
I converted the answer found here : [https://superuser.com/questions/1183663/determining-audio-level-peaks-with-ffmpeg][1]
By removing the write to file command and adding a pipe.
Here’s what I’ve got.ffmpeg -i loudSoft.mp3 -af astats=metadata=1:reset=1,ametadata=print:key=lavfi.astats.Overall.RMS_level -f null - 2> result.txt
The only problem is, now I’ve got a lot of unwanted metadata before and after the RMS_level and pts_time data as well as
[Parsed_ametadata_1 @ 0x7f9d42c37500]
being printed on each line. None of that was being written when I was writing to a file instead of piping. (all I need is the time and the rms.)Here is an abridged version of what I get when I write to file :
frame:0 pts:0 pts_time:0
lavfi.astats.Overall.RMS_level=-inf
frame:1 pts:47 pts_time:0.00106576
lavfi.astats.Overall.RMS_level=-165.163347
frame:2 pts:1199 pts_time:0.0271882
lavfi.astats.Overall.RMS_level=-99.736394
frame:3 pts:2351 pts_time:0.0533107
lavfi.astats.Overall.RMS_level=-88.112282
frame:4 pts:3503 pts_time:0.0794331
lavfi.astats.Overall.RMS_level=-86.554314
frame:5 pts:4655 pts_time:0.105556
lavfi.astats.Overall.RMS_level=-82.977501
frame:6 pts:5807 pts_time:0.131678
lavfi.astats.Overall.RMS_level=-79.698739
frame:7 pts:6959 pts_time:0.1578
lavfi.astats.Overall.RMS_level=-76.629393
frame:8 pts:8111 pts_time:0.183923
lavfi.astats.Overall.RMS_level=-71.581211
frame:9 pts:9263 pts_time:0.210045
lavfi.astats.Overall.RMS_level=-75.038503
frame:10 pts:10415 pts_time:0.236168And here is what I’m looking at :
ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developers
built with Apple clang version 11.0.0 (clang-1100.0.33.16)
configuration: --prefix=/usr/local/Cellar/ffmpeg/4.2.2_1 --enable-shared --enable-pthreads --enable-version3 --enable-avresample --cc=clang --host-cflags='-I/Library/Java/JavaVirtualMachines/adoptopenjdk-13.0.1.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/adoptopenjdk-13.0.1.jdk/Contents/Home/include/darwin -fno-stack-check' --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libmp3lame --enable-libopus --enable-librubberband --enable-libsnappy --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --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-videotoolbox --disable-libjack --disable-indev=jack
libavutil 56. 31.100 / 56. 31.100
libavcodec 58. 54.100 / 58. 54.100
libavformat 58. 29.100 / 58. 29.100
libavdevice 58. 8.100 / 58. 8.100
libavfilter 7. 57.100 / 7. 57.100
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 5.100 / 5. 5.100
libswresample 3. 5.100 / 3. 5.100
libpostproc 55. 5.100 / 55. 5.100
Input #0, mp3, from 'loudSoft2.mp3':
Metadata:
encoder : Lavf58.29.100
Duration: 00:00:09.85, start: 0.025057, bitrate: 128 kb/s
Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 128 kb/s
Metadata:
encoder : Lavc58.54
Stream mapping:
Stream #0:0 -> #0:0 (mp3 (mp3float) -> pcm_s16le (native))
Press [q] to stop, [?] for help
[Parsed_ametadata_1 @ 0x7f9d42c37500] frame:0 pts:0 pts_time:0
[Parsed_ametadata_1 @ 0x7f9d42c37500] lavfi.astats.Overall.RMS_level=-inf
Output #0, null, to 'pipe:':
Metadata:
encoder : Lavf58.29.100
Stream #0:0: Audio: pcm_s16le, 44100 Hz, stereo, s16, 1411 kb/s
Metadata:
encoder : Lavc58.54.100 pcm_s16le
[Parsed_ametadata_1 @ 0x7f9d42c37500] frame:1 pts:47 pts_time:0.00106576
[Parsed_ametadata_1 @ 0x7f9d42c37500] lavfi.astats.Overall.RMS_level=-165.163347
[Parsed_ametadata_1 @ 0x7f9d42c37500] frame:2 pts:1199 pts_time:0.0271882
[Parsed_ametadata_1 @ 0x7f9d42c37500] lavfi.astats.Overall.RMS_level=-99.736394
[Parsed_ametadata_1 @ 0x7f9d42c37500] frame:3 pts:2351 pts_time:0.0533107
*** MIDDLE OMITTED FOR BREVITY ***
[Parsed_ametadata_1 @ 0x7f9d42c37500] lavfi.astats.Overall.RMS_level=-88.532185
[Parsed_ametadata_1 @ 0x7f9d42c37500] frame:375 pts:430895 pts_time:9.77086
[Parsed_ametadata_1 @ 0x7f9d42c37500] lavfi.astats.Overall.RMS_level=-88.594276
[Parsed_ametadata_1 @ 0x7f9d42c37500] frame:376 pts:432047 pts_time:9.79698
[Parsed_ametadata_1 @ 0x7f9d42c37500] lavfi.astats.Overall.RMS_level=-88.654138
size=N/A time=00:00:09.82 bitrate=N/A speed=82.6x
video:0kB audio:1692kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
[Parsed_astats_0 @ 0x7f9d42c37280] Channel: 1
[Parsed_astats_0 @ 0x7f9d42c37280] DC offset: 0.000001
[Parsed_astats_0 @ 0x7f9d42c37280] Min level: -0.000106
[Parsed_astats_0 @ 0x7f9d42c37280] Max level: 0.000115
[Parsed_astats_0 @ 0x7f9d42c37280] Min difference: 0.000000
[Parsed_astats_0 @ 0x7f9d42c37280] Max difference: 0.000077
[Parsed_astats_0 @ 0x7f9d42c37280] Mean difference: 0.000017
[Parsed_astats_0 @ 0x7f9d42c37280] RMS difference: 0.000022
[Parsed_astats_0 @ 0x7f9d42c37280] Peak level dB: -78.752617
[Parsed_astats_0 @ 0x7f9d42c37280] RMS level dB: -88.654138
[Parsed_astats_0 @ 0x7f9d42c37280] RMS peak dB: -88.654138
[Parsed_astats_0 @ 0x7f9d42c37280] RMS trough dB: -88.654138
[Parsed_astats_0 @ 0x7f9d42c37280] Crest factor: 3.126627
[Parsed_astats_0 @ 0x7f9d42c37280] Flat factor: 0.000000
[Parsed_astats_0 @ 0x7f9d42c37280] Peak count: 2
[Parsed_astats_0 @ 0x7f9d42c37280] Bit depth: 32/32
[Parsed_astats_0 @ 0x7f9d42c37280] Dynamic range: 76.274252
[Parsed_astats_0 @ 0x7f9d42c37280] Zero crossings: 246
[Parsed_astats_0 @ 0x7f9d42c37280] Zero crossings rate: 0.222624
[Parsed_astats_0 @ 0x7f9d42c37280] Number of NaNs: 0
[Parsed_astats_0 @ 0x7f9d42c37280] Number of Infs: 0
[Parsed_astats_0 @ 0x7f9d42c37280] Number of denormals: 0
[Parsed_astats_0 @ 0x7f9d42c37280] Channel: 2
[Parsed_astats_0 @ 0x7f9d42c37280] DC offset: 0.000001
[Parsed_astats_0 @ 0x7f9d42c37280] Min level: -0.000106
[Parsed_astats_0 @ 0x7f9d42c37280] Max level: 0.000115
[Parsed_astats_0 @ 0x7f9d42c37280] Min difference: 0.000000
[Parsed_astats_0 @ 0x7f9d42c37280] Max difference: 0.000077
[Parsed_astats_0 @ 0x7f9d42c37280] Mean difference: 0.000017
[Parsed_astats_0 @ 0x7f9d42c37280] RMS difference: 0.000022
[Parsed_astats_0 @ 0x7f9d42c37280] Peak level dB: -78.752617
[Parsed_astats_0 @ 0x7f9d42c37280] RMS level dB: -88.654138
[Parsed_astats_0 @ 0x7f9d42c37280] RMS peak dB: -88.654138
[Parsed_astats_0 @ 0x7f9d42c37280] RMS trough dB: -88.654138
[Parsed_astats_0 @ 0x7f9d42c37280] Crest factor: 3.126627
[Parsed_astats_0 @ 0x7f9d42c37280] Flat factor: 0.000000
[Parsed_astats_0 @ 0x7f9d42c37280] Peak count: 2
[Parsed_astats_0 @ 0x7f9d42c37280] Bit depth: 32/32
[Parsed_astats_0 @ 0x7f9d42c37280] Dynamic range: 76.274252
[Parsed_astats_0 @ 0x7f9d42c37280] Zero crossings: 246
[Parsed_astats_0 @ 0x7f9d42c37280] Zero crossings rate: 0.222624
[Parsed_astats_0 @ 0x7f9d42c37280] Number of NaNs: 0
[Parsed_astats_0 @ 0x7f9d42c37280] Number of Infs: 0
[Parsed_astats_0 @ 0x7f9d42c37280] Number of denormals: 0
[Parsed_astats_0 @ 0x7f9d42c37280] Overall
[Parsed_astats_0 @ 0x7f9d42c37280] DC offset: 0.000001
[Parsed_astats_0 @ 0x7f9d42c37280] Min level: -0.000106
[Parsed_astats_0 @ 0x7f9d42c37280] Max level: 0.000115
[Parsed_astats_0 @ 0x7f9d42c37280] Min difference: 0.000000
[Parsed_astats_0 @ 0x7f9d42c37280] Max difference: 0.000077
[Parsed_astats_0 @ 0x7f9d42c37280] Mean difference: 0.000017
[Parsed_astats_0 @ 0x7f9d42c37280] RMS difference: 0.000022
[Parsed_astats_0 @ 0x7f9d42c37280] Peak level dB: -78.752617
[Parsed_astats_0 @ 0x7f9d42c37280] RMS level dB: -88.654138
[Parsed_astats_0 @ 0x7f9d42c37280] RMS peak dB: -88.654138
[Parsed_astats_0 @ 0x7f9d42c37280] RMS trough dB: -88.654138
[Parsed_astats_0 @ 0x7f9d42c37280] Flat factor: 0.000000
[Parsed_astats_0 @ 0x7f9d42c37280] Peak count: 2.000000
[Parsed_astats_0 @ 0x7f9d42c37280] Bit depth: 32/32
[Parsed_astats_0 @ 0x7f9d42c37280] Number of samples: 1105
[Parsed_astats_0 @ 0x7f9d42c37280] Number of NaNs: 0.000000
[Parsed_astats_0 @ 0x7f9d42c37280] Number of Infs: 0.000000
[Parsed_astats_0 @ 0x7f9d42c37280] Number of denormals: 0.000000 -
FFmpeg only reading one channel
29 août 2017, par AbstractDissonanceTrying to read a stereo wav file and ffmpeg is only reading one channel. ffprobe returns 2 channels.
I have used
-ac 2
and then added-channel_layout stereo
but all return 1 channel(or basically filling half the buffer I created).Basically the output size of ffmpeg is about half the wav file size.
What I would like is for it to return every channel in
Channel1_sample1, channel2_sample1, ..., ChannelN_sample1, channel1_sample2,
etc...But, in reality, I’d rather just have it work with stereo ;) I’m giving it plenty large enough buffer to read to, so that isn’t the problem either.
Here is the output
ffprobe.exe -hide_banner -v quiet -print_format flat -show_streams -i temp.wav
streams.stream.0.index=0
streams.stream.0.codec_name="pcm_s16le"
streams.stream.0.codec_long_name="PCM signed 16-bit little-endian"
streams.stream.0.profile="unknown"
streams.stream.0.codec_type="audio"
streams.stream.0.codec_time_base="1/44100"
streams.stream.0.codec_tag_string="[1][0][0][0]"
streams.stream.0.codec_tag="0x0001"
streams.stream.0.sample_fmt="s16"
streams.stream.0.sample_rate="44100"
streams.stream.0.channels=2
streams.stream.0.channel_layout="unknown"
streams.stream.0.bits_per_sample=16
streams.stream.0.id="N/A"
streams.stream.0.r_frame_rate="0/0"
streams.stream.0.avg_frame_rate="0/0"
streams.stream.0.time_base="1/44100"
streams.stream.0.start_pts="N/A"
streams.stream.0.start_time="N/A"
streams.stream.0.duration_ts=14200200
streams.stream.0.duration="322.000000"
streams.stream.0.bit_rate="1411200"
streams.stream.0.max_bit_rate="N/A"
streams.stream.0.bits_per_raw_sample="N/A"
streams.stream.0.nb_frames="N/A"
streams.stream.0.nb_read_frames="N/A"
streams.stream.0.nb_read_packets="N/A"
streams.stream.0.disposition.default=0
streams.stream.0.disposition.dub=0
streams.stream.0.disposition.original=0
streams.stream.0.disposition.comment=0
streams.stream.0.disposition.lyrics=0
streams.stream.0.disposition.karaoke=0
streams.stream.0.disposition.forced=0
streams.stream.0.disposition.hearing_impaired=0
streams.stream.0.disposition.visual_impaired=0
streams.stream.0.disposition.clean_effects=0
streams.stream.0.disposition.attached_pic=0
streams.stream.0.disposition.timed_thumbnails=0
ffmpeg.exe -i temp.wav -loglevel quiet -f s16le -ac 2 -channel_layout stereo -temp.wav is just a standard stereo wav file.