Recherche avancée

Médias (0)

Mot : - Tags -/auteurs

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (18)

  • Ajouter notes et légendes aux images

    7 février 2011, par

    Pour pouvoir ajouter notes et légendes aux images, la première étape est d’installer le plugin "Légendes".
    Une fois le plugin activé, vous pouvez le configurer dans l’espace de configuration afin de modifier les droits de création / modification et de suppression des notes. Par défaut seuls les administrateurs du site peuvent ajouter des notes aux images.
    Modification lors de l’ajout d’un média
    Lors de l’ajout d’un média de type "image" un nouveau bouton apparait au dessus de la prévisualisation (...)

  • Amélioration de la version de base

    13 septembre 2013

    Jolie 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 (...)

  • Organiser par catégorie

    17 mai 2013, par

    Dans MédiaSPIP, une rubrique a 2 noms : catégorie et rubrique.
    Les différents documents stockés dans MédiaSPIP peuvent être rangés dans différentes catégories. On peut créer une catégorie en cliquant sur "publier une catégorie" dans le menu publier en haut à droite ( après authentification ). Une catégorie peut être rangée dans une autre catégorie aussi ce qui fait qu’on peut construire une arborescence de catégories.
    Lors de la publication prochaine d’un document, la nouvelle catégorie créée sera proposée (...)

Sur d’autres sites (4390)

  • How to reinsert edited metadata stream information from the FFMETADATAFILE file ? [closed]

    6 septembre 2024, par SENYCH

    I'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 ?

    


  • lavc/vvc : Check slice structure

    10 janvier, par Frank Plowman
    lavc/vvc : Check slice structure
    

    The criteria for slice structure validity is similar to that of
    subpicture structure validity that we saw not too long ago [1].
    The relationship between tiles and slices must satisfy the following
    properties :

    * Exhaustivity. All tiles in a picture must belong to a slice. The
    tiles cover the picture, so this implies the slices must cover the
    picture.
    * Mutual exclusivity. No tile may belong to more than one slice, i.e.
    slices may not overlap.

    In most cases these properties are guaranteed by the syntax. There is
    one noticable exception however : when pps_tile_idx_delta_present_flag is
    equal to one, each slice is associated with a syntax element
    pps_tile_idx_delta_val[i] which "specifies the difference between the
    tile index of the tile containing the first CTU in the ( i + 1 )-th
    rectangular slice and the tile index of the tile containing the first
    CTU in the i-th rectangular slice" [2]. When these syntax elements are
    present, the i-th slice can begin anywhere and the usual guarantees
    provided by the syntax are lost.

    The patch detects slice structures which violate either of the two
    properties above, and are therefore invalid, while building the
    slice map. Should the slice map be determined to be invalid, an
    AVERROR_INVALIDDATA is returned. This prevents issues including
    segmentation faults when trying to decode, invalid bitstreams.

    [1] : https://ffmpeg.org//pipermail/ffmpeg-devel/2024-October/334470.html
    [2] : H.266 (V3) Section 7.4.3.5, Picture parameter set RBSP semantics

    Signed-off-by : Frank Plowman <post@frankplowman.com>

    • [DH] libavcodec/vvc/ps.c
  • The problem with pydub.AudioSegment.from_file (ffmpeg)

    7 septembre 2024, par akkoolda

    I'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.

    &#xA;

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

    &#xA;

    async def once_done(sink: discord.sinks.MP3Sink, channel: discord.TextChannel, *args):&#xA;        words_list = []&#xA;        audio_segs: list[pydub.AudioSegment] = []&#xA;        longest = pydub.AudioSegment.empty()&#xA;        files: list[discord.File] = []&#xA;&#xA;        for user_id, audio in sink.audio_data.items():&#xA;            try:&#xA;                payload: FileSource = {&#xA;                    "buffer": audio.file.read(),&#xA;                    "mimetype": "audio/mp3"  # Указываем тип аудиофайла&#xA;            }&#xA;&#xA;                #audio.on_format("mp3")&#xA;                seg = pydub.AudioSegment.from_file(audio.file, format="mp3")&#xA;

    &#xA;

    The error itself

    &#xA;

    Exception in thread Thread-3 (recv_audio):&#xA;    Traceback (most recent call last):&#xA;      File "c:\Users\olimp\OneDrive\Рабочий стол\Work on Python\management-followups-bot\main.py", line 66, in once_done&#xA;        seg = pydub.AudioSegment.from_file(audio.file, format="mp3")&#xA;              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^&#xA;      File "C:\Users\olimp\AppData\Local\Programs\Python\Python311\Lib\site-packages\pydub\audio_segment.py", line 773, in from_file&#xA;        raise CouldntDecodeError(&#xA;    pydub.exceptions.CouldntDecodeError: Decoding failed. ffmpeg returned error code: 3199971767&#xA;    &#xA;    Output from ffmpeg/avlib:&#xA;    &#xA;    ffmpeg version 2024-09-02-git-3f9ca51015-full_build-www.gyan.dev Copyright (c) 2000-2024 the FFmpeg developers&#xA;      built with gcc 13.2.0 (Rev5, Built by MSYS2 project)&#xA;      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 &#xA;    --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&#xA;      libavutil      59. 35.100 / 59. 35.100&#xA;      libavcodec     61. 11.100 / 61. 11.100&#xA;      libavformat    61.  5.101 / 61.  5.101&#xA;      libavdevice    61.  2.100 / 61.  2.100&#xA;      libavfilter    10.  2.102 / 10.  2.102&#xA;      libswscale      8.  2.100 /  8.  2.100&#xA;      libswresample   5.  2.100 /  5.  2.100&#xA;      libpostproc    58.  2.100 / 58.  2.100&#xA;    [cache @ 000001b25c1c6e00] Inner protocol failed to seekback end : -40&#xA;        Last message repeated 1 times&#xA;    [mp3 @ 000001b25c1c6840] Failed to find two consecutive MPEG audio frames.&#xA;    [cache @ 000001b25c1c6e00] Statistics, cache hits:0 cache misses:0&#xA;    [in#0 @ 000001b25c1ac740] Error opening input: Invalid data found when processing input&#xA;    Error opening input file cache:pipe:0.&#xA;    Error opening input files: Invalid data found when processing input&#xA;    &#xA;    &#xA;    During handling of the above exception, another exception occurred:&#xA;    &#xA;    Traceback (most recent call last):&#xA;      File "C:\Users\olimp\AppData\Local\Programs\Python\Python311\Lib\threading.py", line 1038, in _bootstrap_inner&#xA;        self.run()&#xA;      File "C:\Users\olimp\AppData\Local\Programs\Python\Python311\Lib\threading.py", line 975, in run&#xA;        self._target(*self._args, **self._kwargs)&#xA;      File "C:\Users\olimp\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\voice_client.py", line 868, in recv_audio&#xA;        result = callback.result()&#xA;                 ^^^^^^^^^^^^^^^^^&#xA;      File "C:\Users\olimp\AppData\Local\Programs\Python\Python311\Lib\concurrent\futures\_base.py", line 456, in result&#xA;        return self.__get_result()&#xA;               ^^^^^^^^^^^^^^^^^^^&#xA;      File "C:\Users\olimp\AppData\Local\Programs\Python\Python311\Lib\concurrent\futures\_base.py", line 401, in __get_result&#xA;        raise self._exception&#xA;      File "c:\Users\olimp\OneDrive\Рабочий стол\Work on Python\management-followups-bot\main.py", line 95, in once_done&#xA;        await channel.send(f"Ошибка при работе с Deepgram API: {str(e)}")&#xA;      File "C:\Users\olimp\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\abc.py", line 1666, in send&#xA;        data = await state.http.send_message(&#xA;               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^&#xA;      File "C:\Users\olimp\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\http.py", line 374, in request&#xA;        raise HTTPException(response, data)&#xA;    discord.errors.HTTPException: 400 Bad Request (error code: 50035): Invalid Form Body&#xA;    In content: Must be 2000 or fewer in length.&#xA;&#xA;Solving the error, how else can you normally record user audio&#xA;

    &#xA;

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

    &#xA;