
Recherche avancée
Autres articles (111)
-
MediaSPIP 0.1 Beta version
25 avril 2011, parMediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
The zip file provided here only contains the sources of MediaSPIP in its standalone version.
To get a working installation, you must manually install all-software dependencies on the server.
If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...) -
MediaSPIP version 0.1 Beta
16 avril 2011, parMediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...) -
Amélioration de la version de base
13 septembre 2013Jolie sélection multiple
Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)
Sur d’autres sites (10306)
-
avformat/iamf_parse : reject ambisonics mode > 1
29 novembre 2024, par Michael Niedermayeravformat/iamf_parse : reject ambisonics mode > 1
ambisonics mode > 1 does not initialize any layer but layer 0
is unconditionally dereferencedFixes : poc-2024-11
Fixes : null pointer dereference
Found-by : 苏童 <220235212@seu.edu.cn>
Signed-off-by : Michael Niedermayer <michael@niedermayer.cc> -
How to reinsert edited metadata stream information from the FFMETADATAFILE file ? [closed]
6 septembre 2024, par SENYCHI'm working on simplifying and speeding up the process of editing video metadata for user convenience. I've successfully edited metadata streams using console commands, such as :


ffmpeg -i INPUT.mp4 -map 0 -metadata:s:0 "handler_name=An other video" -metadata:s:1 "handler_name=An other audio recording in russian" -metadata:s:2 "handler_name=An other audio recording in english" -metadata:s:3 "handler_name=An other audio recording in japanese" -c copy OUTPUT.mp4



However, I'd like to accomplish this through a ffmetadata file. Here's the approach I've taken :


ffmpeg -t 0 -i INPUT.mp4 -map 0 -c copy -f ffmetadata ffmetadata.txt -hide_banner



Original ffmetadata.txt is :


;FFMETADATA1
major_brand=isom
minor_version=512
compatible_brands=isomiso2avc1mp41
encoder=Lavf61.5.101
[STREAM]
language=und
handler_name=The best video
vendor_id=[0][0][0][0]
[STREAM]
language=rus
handler_name=The best russian language
vendor_id=[0][0][0][0]
[STREAM]
language=eng
handler_name=The best english language
vendor_id=[0][0][0][0]
[STREAM]
language=jpn
handler_name=The best japanese language
vendor_id=[0][0][0][0]



Edit the ffmetadata.txt file to update the handler_name values :


;FFMETADATA1
major_brand=isom
minor_version=512
compatible_brands=isomiso2avc1mp41
encoder=Lavf61.5.101
[STREAM]
language=und
handler_name=An other video
vendor_id=[0][0][0][0]
[STREAM]
language=rus
handler_name=An other audio recording in russian
vendor_id=[0][0][0][0]
[STREAM]
language=eng
handler_name=An other audio recording in english
vendor_id=[0][0][0][0]
[STREAM]
language=jpn
handler_name=An other audio recording in japanese
vendor_id=[0][0][0][0]



Attempt to apply the updated metadata from ffmetadata2.txt :


C:\Users\Alexander\Videos>ffmpeg -i INPUT.mp4 -i ffmetadata2.txt -map 0:v -map 0:a -map_metadata 1 -c copy OUTPUT2.mp4 -hide_banner



Despite these steps, I've noticed that only the global metadata is updated, while the metadata for each stream remains unchanged. The console output shows that metadata for each stream is not updated as expected.


What am I missing ? How can I ensure that the stream-specific metadata is also updated correctly when using a ffmetadata file ?


Additional Information :


- 

- FFmpeg version : 2024-08-26-git-98610fe95f-full_build
- The ffmetadata file format and the approach I've used should be correct according to the FFmpeg documentation.






I would greatly appreciate any recommendations or suggestions on how to solve this problem !


I found a bad solution for my problem, but it still isn't ideal as it requires specifying
-map_metadata:s:N 1:s:N
for each stream individually, which is quite cumbersome. Is there a way to simplify this process and avoid having to set metadata for each stream separately ?

The command I’m using is :


C:\Users\Alexander\Videos>ffmpeg -i INPUT.mp4 -i ffmetadata2.txt -map 0 -map_metadata:s:0 1:s:0 -map_metadata:s:1 1:s:1 -map_metadata:s:2 1:s:2 -map_metadata:s:3 1:s:3 -c copy OUTPUT2.mp4 -hide_banner



This works, but having to specify
-map_metadata:s:N
for each stream creates extra work, especially as the number of streams increases. Is there a more efficient way to handle this ?

-
The problem with pydub.AudioSegment.from_file (ffmpeg)
7 septembre 2024, par akkooldaI'm trying to make a normal voice recording discord. When I try to convert an Audio Data object, an error occurs. I've already tried everything I can, I can't solve the problem.


Here is the code, the error occurs in the seg variable :


async def once_done(sink: discord.sinks.MP3Sink, channel: discord.TextChannel, *args):
 words_list = []
 audio_segs: list[pydub.AudioSegment] = []
 longest = pydub.AudioSegment.empty()
 files: list[discord.File] = []

 for user_id, audio in sink.audio_data.items():
 try:
 payload: FileSource = {
 "buffer": audio.file.read(),
 "mimetype": "audio/mp3" # Указываем тип аудиофайла
 }

 #audio.on_format("mp3")
 seg = pydub.AudioSegment.from_file(audio.file, format="mp3")



The error itself


Exception in thread Thread-3 (recv_audio):
 Traceback (most recent call last):
 File "c:\Users\olimp\OneDrive\Рабочий стол\Work on Python\management-followups-bot\main.py", line 66, in once_done
 seg = pydub.AudioSegment.from_file(audio.file, format="mp3")
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 File "C:\Users\olimp\AppData\Local\Programs\Python\Python311\Lib\site-packages\pydub\audio_segment.py", line 773, in from_file
 raise CouldntDecodeError(
 pydub.exceptions.CouldntDecodeError: Decoding failed. ffmpeg returned error code: 3199971767
 
 Output from ffmpeg/avlib:
 
 ffmpeg version 2024-09-02-git-3f9ca51015-full_build-www.gyan.dev Copyright (c) 2000-2024 the FFmpeg developers
 built with gcc 13.2.0 (Rev5, Built by MSYS2 project)
 configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 
 --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libdavs2 --enable-libopenjpeg --enable-libquirc --enable-libuavs3d --enable-libxevd --enable-libzvbi --enable-libqrencode --enable-librav1e --enable-libsvtav1 --enable-libvvenc --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxeve --enable-libxvid --enable-libaom --enable-libjxl --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-dxva2 --enable-d3d11va --enable-d3d12va --enable-ffnvcodec --enable-libvpl --enable-nvdec --enable-nvenc --enable-vaapi --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libcodec2 --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
 libavutil 59. 35.100 / 59. 35.100
 libavcodec 61. 11.100 / 61. 11.100
 libavformat 61. 5.101 / 61. 5.101
 libavdevice 61. 2.100 / 61. 2.100
 libavfilter 10. 2.102 / 10. 2.102
 libswscale 8. 2.100 / 8. 2.100
 libswresample 5. 2.100 / 5. 2.100
 libpostproc 58. 2.100 / 58. 2.100
 [cache @ 000001b25c1c6e00] Inner protocol failed to seekback end : -40
 Last message repeated 1 times
 [mp3 @ 000001b25c1c6840] Failed to find two consecutive MPEG audio frames.
 [cache @ 000001b25c1c6e00] Statistics, cache hits:0 cache misses:0
 [in#0 @ 000001b25c1ac740] Error opening input: Invalid data found when processing input
 Error opening input file cache:pipe:0.
 Error opening input files: Invalid data found when processing input
 
 
 During handling of the above exception, another exception occurred:
 
 Traceback (most recent call last):
 File "C:\Users\olimp\AppData\Local\Programs\Python\Python311\Lib\threading.py", line 1038, in _bootstrap_inner
 self.run()
 File "C:\Users\olimp\AppData\Local\Programs\Python\Python311\Lib\threading.py", line 975, in run
 self._target(*self._args, **self._kwargs)
 File "C:\Users\olimp\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\voice_client.py", line 868, in recv_audio
 result = callback.result()
 ^^^^^^^^^^^^^^^^^
 File "C:\Users\olimp\AppData\Local\Programs\Python\Python311\Lib\concurrent\futures\_base.py", line 456, in result
 return self.__get_result()
 ^^^^^^^^^^^^^^^^^^^
 File "C:\Users\olimp\AppData\Local\Programs\Python\Python311\Lib\concurrent\futures\_base.py", line 401, in __get_result
 raise self._exception
 File "c:\Users\olimp\OneDrive\Рабочий стол\Work on Python\management-followups-bot\main.py", line 95, in once_done
 await channel.send(f"Ошибка при работе с Deepgram API: {str(e)}")
 File "C:\Users\olimp\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\abc.py", line 1666, in send
 data = await state.http.send_message(
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 File "C:\Users\olimp\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\http.py", line 374, in request
 raise HTTPException(response, data)
 discord.errors.HTTPException: 400 Bad Request (error code: 50035): Invalid Form Body
 In content: Must be 2000 or fewer in length.

Solving the error, how else can you normally record user audio



How can I fix this, or maybe there are some other options ?