
Recherche avancée
Autres articles (55)
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
Gestion générale des documents
13 mai 2011, parMédiaSPIP ne modifie jamais le document original mis en ligne.
Pour chaque document mis en ligne il effectue deux opérations successives : la création d’une version supplémentaire qui peut être facilement consultée en ligne tout en laissant l’original téléchargeable dans le cas où le document original ne peut être lu dans un navigateur Internet ; la récupération des métadonnées du document original pour illustrer textuellement le fichier ;
Les tableaux ci-dessous expliquent ce que peut faire MédiaSPIP (...) -
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" (...)
Sur d’autres sites (5330)
-
FFMPEG or LIBAV : Need examples of mixing/merging multiple audio tracks together
23 juillet 2013, par ApolloKingWhat I have currently is an audio file that contains two audio streams, is there any FFMPEG/LIBAV code example(s) that provide insight of either
- Mixing these two or more tracks together into one stream (amix)
- Merging two tracks together into one stream, one in the left
channel one on the right channel (amerge) ?
Apparently I need use of the libavfilter library, so It would be great if there are examples using libavfilter for mixing purposes (ffmpeg official filtering example provided does not seem to be a match what I am looking for, but I may be overlooking it).
-
Metadata in mp3 not working when piping from ffmpeg with album art
10 février 2019, par CromonIn 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 & 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 & 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 KristenI 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.


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


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



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.


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


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



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.


Youtube_dl code that is in Worker thread :


def run(self):
 self.main_window.progressBar.setValue(0)

 self.ydl_opts = {
 'format': 'bestaudio/best',
 'noplaylist': self.main_window.playlist,
 'source_address': '0.0.0.0',
 'ignoreerrors': True,
 'progress_hooks': [self.my_hook],
 'postprocessors': [{
 'key': 'FFmpegExtractAudio',
 'preferredcodec': 'mp3'
 }]
 }

 with youtube_dl.YoutubeDL(self.ydl_opts) as ydl:
 ydl.download([f'{self.main_window.downloadURL.text()}'])

def my_hook(self, download):
 if download["status"] == "finished":
 print("Finished")
 self.main_window.progressText.setText("Ready")
 if download["status"] == "downloading":
 self.updateText.emit("Downloading...")
 percent = download["_percent_str"]
 percent = percent.replace("%", "")
 self.updateProgress.emit(float(percent))



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