Recherche avancée

Médias (91)

Autres articles (92)

  • Mise à jour de la version 0.1 vers 0.2

    24 juin 2013, par

    Explications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
    Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

Sur d’autres sites (12521)

  • Metadata in mp3 not working when piping from ffmpeg with album art

    10 février 2019, par Cromon

    In my program I am piping a webm from a stream to ffmpeg and then pipe the output to a http request. Part of the process is adding metadata for the mp3. This has so far worked great. However after adding an image as album art it has started to act unexpected.

    First this is the command line I am using inside the program :

       val parameters = listOf("ffmpeg",
               "-i", "-",
               "-i", albumImage.absolutePath,
               "-map", "0",
               "-map", "1",
               "-c:v", "copy",
               "-f", "mp3",
               "-id3v2_version", "4",
               "-metadata", "title=${info.title}",
               "-metadata", "album=YouTube",
               "-metadata", "artist=${info.author}",
               "-metadata:s:v", "title=Album Cover",
               "-metadata:s:v", "comment=Cover (front)",
               "-"
       )

    It creates a valid mp3 file and I can find both the metadata and the image in the mp3 file, however when playing it none of them are displayed in VLC or anywhere else. To test various configurations I have converted it to the command line.

    In a first try I have saved the video and the image and stopped using pipes altogether, which results in this :

    ffmpeg -i video.webm -i image.jpeg -map 0 -map 1 -c:v copy -f mp3 -id3v2_version 4 -metadata title="Tiësto & KSHMR feat. Vassy - Secrets (Official Music Video)" -metadata album="YouTube" -metadata artist="Spinnin' Records" -metadata:s:v title="Album Cover" -metadata:s:v comment="Cover (front)" output3.mp3

    In this case all metadata including the album art is displayed in VLC.

    I then recreated the same thing as in my program, piping both video input and audio output, looking like this :

    ffmpeg -i - -i image.jpeg -map 0 -map 1 -c:v copy -f mp3 -id3v2_version 4 -metadata title="Tiësto & KSHMR feat. Vassy - Secrets (Official Music Video)" -metadata album="YouTube" -metadata artist="Spinnin' Records" -metadata:s:v title="Album Cover" -metadata:s:v comment="Cover (front)" - < video.webm > output3.mp3

    This file is the same as my programs output. Neither title nor album nor album image are displayed (however it can play the file)

    To test a few more options I have hardcoded the output file but pipe the input file like this :

    ffmpeg -i - -i image.jpeg -map 0 -map 1 -c:v copy -f mp3 -id3v2_version 4 -metadata title="Tiësto & KSHMR feat. Vassy - Secrets (Official Music Video)" -metadata album="YouTube" -metadata artist="Spinnin’ Records" -metadata:s:v title="Album Cover" -metadata:s:v comment="Cover (front)" output3.mp3 < video.webm

    Now the metadata is working again. When hardcoding the input video and piping the output, its again gone.

    So to sum up : When piping the output of ffmpeg the metadata in the file is not properly working. Interestingly the stderr output of ffmpeg looks quite similar

    Hardcoded output3.mp3 :

    ffmpeg version 3.4.4-0ubuntu0.18.04.1 Copyright (c) 2000-2018 the FFmpeg developers
    Input #0, matroska,webm, from 'pipe:':
     Metadata:
       encoder         : google/video-file
     Duration: 00:03:39.58, start: -0.007000, bitrate: N/A
       Stream #0:0(eng): Audio: opus, 48000 Hz, stereo, fltp (default)
    Input #1, image2, from 'image.jpeg':
     Duration: 00:00:00.04, start: 0.000000, bitrate: 1466 kb/s
       Stream #1:0: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 320x180, 25 tbr, 25 tbn, 25 tbc
    Stream mapping:
     Stream #0:0 -> #0:0 (opus (native) -> mp3 (libmp3lame))
     Stream #1:0 -> #0:1 (copy)
    Output #0, mp3, to 'output3.mp3':
     Metadata:
       TPE1            : Spinnin' Records
       TIT2            : Tiësto &amp; KSHMR feat. Vassy - Secrets (Official Music Video)
       TALB            : YouTube
       TSSE            : Lavf57.83.100
       Stream #0:0(eng): Audio: mp3 (libmp3lame), 48000 Hz, stereo, fltp (default)
       Metadata:
         encoder         : Lavc57.107.100 libmp3lame
       Stream #0:1: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 320x180, q=2-31, 25 tbr, 25 tbn, 25 tbc
       Metadata:
         title           : Album Cover
         comment         : Cover (front)

    With pipe output :

    ffmpeg version 3.4.4-0ubuntu0.18.04.1 Copyright (c) 2000-2018 the FFmpeg developers
    Input #0, matroska,webm, from 'pipe:':
     Metadata:
       encoder         : google/video-file
     Duration: 00:03:39.58, start: -0.007000, bitrate: N/A
       Stream #0:0(eng): Audio: opus, 48000 Hz, stereo, fltp (default)
    Input #1, image2, from 'image.jpeg':
     Duration: 00:00:00.04, start: 0.000000, bitrate: 1466 kb/s
       Stream #1:0: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 320x180, 25 tbr, 25 tbn, 25 tbc
    Stream mapping:
     Stream #0:0 -> #0:0 (opus (native) -> mp3 (libmp3lame))
     Stream #1:0 -> #0:1 (copy)
    Output #0, mp3, to 'pipe:':
     Metadata:
       TPE1            : Spinnin' Records
       TIT2            : Tiësto &amp; KSHMR feat. Vassy - Secrets (Official Music Video)
       TALB            : YouTube
       TSSE            : Lavf57.83.100
       Stream #0:0(eng): Audio: mp3 (libmp3lame), 48000 Hz, stereo, fltp (default)
       Metadata:
         encoder         : Lavc57.107.100 libmp3lame
       Stream #0:1: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 320x180, q=2-31, 25 tbr, 25 tbn, 25 tbc
       Metadata:
         title           : Album Cover
         comment         : Cover (front)
  • How to get the video count of youtube_dl (1 of 256) in its output and hide ffmpeg console when converting the format ?

    28 août 2020, par Kristen

    I am creating a GUI program in Qt creator via Pyside2 and it's a program that lets you download Youtube music. My goal is to get the video count like x of 256 or x of 2 or 1 of 256 when downloading the playlist but I don't know how. I've come across two problems.

    &#xA;

    First problem : I don't know how to get this information from youtube_dl output

    &#xA;

    [youtube:playlist] Downloading playlist PLi0XaxnSihZSnD1TNm82Y43o92r6UNEfH - add --no-playlist to just download video -5EmnQp3V48&#xA;[youtube:playlist] PLi0XaxnSihZSnD1TNm82Y43o92r6UNEfH: Downloading webpage&#xA;[download] Downloading playlist: Dance Central Songs&#xA;[youtube:playlist] PLi0XaxnSihZSnD1TNm82Y43o92r6UNEfH: Downloading page #1&#xA;[youtube:playlist] PLi0XaxnSihZSnD1TNm82Y43o92r6UNEfH: Downloading page #2&#xA;[youtube:playlist] playlist Dance Central Songs: Downloading 251 videos&#xA;[download] Downloading video **1 of 251**&#xA;[youtube] bESGLojNYSo: Downloading webpage&#xA;[download] Destination: Lady Gaga - Poker Face (Official Music Video)-bESGLojNYSo.webm&#xA;[download] 100% of 3.50MiB in 00:01                   &#xA;Finished&#xA;[ffmpeg] Destination: Lady Gaga - Poker Face (Official Music Video)-bESGLojNYSo.mp3&#xA;Deleting original file Lady Gaga - Poker Face (Official Music Video)-bESGLojNYSo.webm (pass -k to keep)&#xA;[download] Downloading video **2 of 251**&#xA;[youtube] E2tMV96xULk: Downloading webpage&#xA;14:03:36: C:\Python38\python.exe exited with code 0&#xA;

    &#xA;

    Second problem : If my program is in .exe format then FFMPEG console appears and disappears immediately after it has completed the conversion but it's taking the user focus every time which gets annoying.

    &#xA;

    What I've tried for first problem is that I tried to get it manually but it did not work then I checked youtube_dl github download dictionary keys and there is not a key that can acquire that video count 1 of 256

    &#xA;

    print("Download keys:", download.keys())&#xA;Download keys: dict_keys([&#x27;status&#x27;, &#x27;downloaded_bytes&#x27;, &#x27;total_bytes&#x27;, &#x27;tmpfilename&#x27;, &#x27;filename&#x27;, &#x27;eta&#x27;, &#x27;speed&#x27;, &#x27;elapsed&#x27;, &#x27;_eta_str&#x27;, &#x27;_percent_str&#x27;, &#x27;_speed_str&#x27;, &#x27;_total_bytes_str&#x27;])&#xA;

    &#xA;

    What I've tried for second problem is actually none. I checked C# versions and with C# you can hide that console or disable it but I haven't found a way to do that in Python yet. Goal here is disable ffmpeg console taking either the focus or hide/disable it or third option is to use another converter.

    &#xA;

    Youtube_dl code that is in Worker thread :

    &#xA;

    def run(self):&#xA;    self.main_window.progressBar.setValue(0)&#xA;&#xA;    self.ydl_opts = {&#xA;        &#x27;format&#x27;: &#x27;bestaudio/best&#x27;,&#xA;        &#x27;noplaylist&#x27;: self.main_window.playlist,&#xA;        &#x27;source_address&#x27;: &#x27;0.0.0.0&#x27;,&#xA;        &#x27;ignoreerrors&#x27;: True,&#xA;        &#x27;progress_hooks&#x27;: [self.my_hook],&#xA;        &#x27;postprocessors&#x27;: [{&#xA;            &#x27;key&#x27;: &#x27;FFmpegExtractAudio&#x27;,&#xA;            &#x27;preferredcodec&#x27;: &#x27;mp3&#x27;&#xA;        }]&#xA;    }&#xA;&#xA;    with youtube_dl.YoutubeDL(self.ydl_opts) as ydl:&#xA;        ydl.download([f&#x27;{self.main_window.downloadURL.text()}&#x27;])&#xA;&#xA;def my_hook(self, download):&#xA;    if download["status"] == "finished":&#xA;        print("Finished")&#xA;        self.main_window.progressText.setText("Ready")&#xA;    if download["status"] == "downloading":&#xA;        self.updateText.emit("Downloading...")&#xA;        percent = download["_percent_str"]&#xA;        percent = percent.replace("%", "")&#xA;        self.updateProgress.emit(float(percent))&#xA;

    &#xA;

    Edit : FFMPEG console appearing and disappearing for a moment is shown in this video here in dropbox :&#xA;ffmpeg console appearing and disappearing video

    &#xA;

  • Android AAC Cutter Library without FFmpeg [closed]

    13 avril 2021, par Pascal

    I have a simple question. I want to cut a bit of a AAC File on Android. I can't use FFmpeg because I already use it to decode my audio files. So if I use any library that contains FFmpeg, it resolves in a conflict.

    &#xA;

    I already tried to encode AAC myself with FFmpeg (native) but it also didn't worked. Even though I used the official transcode example (https://github.com/FFmpeg/FFmpeg/blob/master/doc/examples/transcode_aac.c).

    &#xA;

    I searched the web but couldn't get a working library, that does not use FFmpeg.

    &#xA;