
Recherche avancée
Autres articles (85)
-
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 (...) -
Gestion de la ferme
2 mars 2010, parLa ferme est gérée dans son ensemble par des "super admins".
Certains réglages peuvent être fais afin de réguler les besoins des différents canaux.
Dans un premier temps il utilise le plugin "Gestion de mutualisation" -
Configurer la prise en compte des langues
15 novembre 2010, parAccéder à la configuration et ajouter des langues prises en compte
Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...)
Sur d’autres sites (10099)
-
Python ffmpeg subprocess makes unplayable file, but is right size, and just hangs
8 juin 2021, par nadermxI currently have this subprocess calling ffmpeg.


print("Starting alphamerge")
cmd = "ffmpeg -y -nostats -loglevel 0 -i %s -i %s -filter_complex '[1][0]scale2ref[mask][main];[main][mask]alphamerge' -c:v qtrle %s" % (
 file_path, temp_file, output)
process = sp.Popen(cmd, shell=True, stdout=sp.PIPE, stderr=sp.PIPE)
stdout, stderr = process.communicate()
print('after call')

if stderr:
 return "ERROR: %s" % stderr.decode("utf-8")
print("Process finished")





But the process ends up making a file over 2 gigs, unplayable, and just hangs. It never prints "Process finished", "after call", or an error, it just hangs.


Am I calling subprocess with ffmpeg wrong ?


-
avcodec/mips : Refine ff_h264_h_lpf_luma_inter_msa
12 avril 2021, par gxw -
Generate waveforms for audio files with large amount of channels
3 mai 2021, par motioI want to generate .png files displaying the waveforms of interleaved audio .wav files using the FFmpeg libraries. http://ffmpeg.org/documentation.html


If the interleaved audio file contains maximum 8 channels, I manage to successfully achieve this using the following command line :


ffmpeg -i 8_channels_input.wav -y -filter_complex "showwavespic=s=1920x1200:split_channels=1" -frames:v 1 8_channels_waveform_output.png



However, if the interleaved audio file contains more than 8 channels, FFmpeg gives the following :




Input #0, wav, from '30_channels_input.wav' : Duration : 00:00:02.08,
bitrate : 31752 kb/s Stream #0:0 : Audio : pcm_s24le ([1][0][0][0] /
0x0001), 44100 Hz, 30 channels, s32 (24 bit), 31752 kb/s Stream
mapping : Stream #0:0 (pcm_s24le) -> showwavespic showwavespic ->
Stream #0:0 (png) Press [q] to stop, [?] for help [auto_resampler_0 @
0x7faf5d60a3c0] Cannot select channel layout for the link between
filters auto_resampler_0 and Parsed_showwavespic_0. [auto_resampler_0
@ 0x7faf5d60a3c0] Unknown channel layouts not supported, try
specifying a channel layout using 'aformat=channel_layouts=something'.
Error reinitializing filters ! Failed to inject frame into filter
network : Invalid argument Error while processing the decoded data for
stream #0:0 Conversion failed !




Here is the related documentation (c.f. bottom of the page) :
https://trac.ffmpeg.org/wiki/AudioChannelManipulation


My problem is :
I need to generate the visual waveforms of audio files containing up to 30 channels.
All my attempts were unsuccessful so far (I am trying to define custom channel layouts and I am not sure if I am on the right track here).


To simplify, I need to complete/modify the following command to make it work :


ffmpeg -i 30_channels_input.wav -y -filter_complex "showwavespic=s=1920x1200:split_channels=1" -frames:v 1 30_channels_waveform_output.png 



[EDIT] Remarks :


I manage to generate the waveforms of a 10 channels input by combining existing layouts :


ffmpeg -i 10_channels_input.wav -y -filter_complex "aformat=channel_layouts=7.1+downmix, showwavespic=s=1920x1200:split_channels=1" -frames:v 1 10_channels_waveform_output.png



However, if you attempt to do it for a 30 channels input by combining 5x 6.0 layouts :


ffmpeg -i 30_channels_input.wav -y -filter_complex "aformat=channel_layouts=6.0+6.0+6.0+6.0+6.0, showwavespic=s=1920x1200:split_channels=1" -frames:v 1 30_channels_waveform_output.png



FFmpeg gives the following :




[auto_resampler_0 @ 0x7ffd7002a480] [SWR @ 0x7ffd7013a000] Rematrix is
needed between 30 channels and 6.0 but there is not enough information
to do it [auto_resampler_0 @ 0x7ffd7002a480] Failed to configure
output pad on auto_resampler_0 Error reinitializing filters ! Failed to
inject frame into filter network : Invalid argument Error while
processing the decoded data for stream #0:0




My assumption is that I need to create a custom layout using 30 unique channel IDs (c.f. https://trac.ffmpeg.org/wiki/AudioChannelManipulation bottom of the page) instead of combining existing layouts.


It seems that only 25 channel IDs are available though. Creating a custom layout with 30 channels is maybe not possible at all...


[EDIT 2] Remarks :


I finally found the documentation I was looking for. But it still seems that generating the waveforms of 30 channels would be difficult.


Here is how to create custom layouts :
https://ffmpeg.org/ffmpeg-utils.html




A custom channel layout can be specified as a sequence of terms,
separated by ’+’ or ’|’. Each term can be :


the name of a standard channel layout (e.g. ‘mono’, ‘stereo’, ‘4.0’,
‘quad’, ‘5.0’, etc.) the name of a single channel (e.g. ‘FL’, ‘FR’,
‘FC’, ‘LFE’, etc.) a number of channels, in decimal, followed by ’c’,
yielding the default channel layout for that number of channels (see
the function av_get_default_channel_layout). Note that not all channel
counts have a default layout. a number of channels, in decimal,
followed by ’C’, yielding an unknown channel layout with the specified
number of channels. Note that not all channel layout specification
strings support unknown channel layouts. a channel layout mask, in
hexadecimal starting with "0x" (see the AV_CH_* macros in
libavutil/channel_layout.h. Before libavutil version 53 the trailing
character "c" to specify a number of channels was optional, but now it
is required, while a channel layout mask can also be specified as a
decimal number (if and only if not followed by "c" or "C").


See also the function av_get_channel_layout defined in
libavutil/channel_layout.h.




e.g.


Therefore, for 11 channels input :


ffmpeg -i 11_channels_input.wav -y -filter_complex "aformat=channel_layouts=FL+FR+FC+BL+BR+BC+SL+SR+WL+WR+TBL, showwavespic=s=1920x1200:split_channels=1" -frames:v 1 11_waveform_output.png



—> worked for me


while :


ffmpeg -i 11_channels_input.wav -y -filter_complex "aformat=channel_layouts=11c, showwavespic=s=1920x1200:split_channels=1" -frames:v 1 11_waveform_output.png



—> does not work


But :


ffmpeg -i 24_channels_input.wav -y -filter_complex "aformat=channel_layouts=24c, showwavespic=s=1920x1200:split_channels=1" -frames:v 1 24_waveform_output.png



—> does work


and finally, what I am still trying to achieve :


ffmpeg -i 30_channels_input.wav -y -filter_complex "aformat=channel_layouts=30c, showwavespic=s=1920x1200:split_channels=1" -frames:v 1 30_waveform_output.png



—> does not work


p.s.


- 

- I execute these commands in sub shells via Ruby scripts (puts %x...)
- My system : macOS 10.15.6 | zsh | FFmpeg 4.4 | Ruby 2.6.3