
Recherche avancée
Autres articles (73)
-
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 (...) -
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 (...) -
XMP PHP
13 mai 2011, parDixit Wikipedia, XMP signifie :
Extensible Metadata Platform ou XMP est un format de métadonnées basé sur XML utilisé dans les applications PDF, de photographie et de graphisme. Il a été lancé par Adobe Systems en avril 2001 en étant intégré à la version 5.0 d’Adobe Acrobat.
Étant basé sur XML, il gère un ensemble de tags dynamiques pour l’utilisation dans le cadre du Web sémantique.
XMP permet d’enregistrer sous forme d’un document XML des informations relatives à un fichier : titre, auteur, historique (...)
Sur d’autres sites (8164)
-
avcodec/cbs_h266 : check subpicture slices number
23 novembre 2024, par Nuo Miavcodec/cbs_h266 : check subpicture slices number
According to section 6.3.3, 'Spatial or component-wise partitionings,'
Subpictures must cover the entire picture.
Therefore, the total number of subpicture slices should equal the number of picture slicesCo-authored-by : Frank Plowman <post@frankplowman.com>
-
Why doesn't seem to be able to send an audio file with FRONT_COVER on the Pytelegrambotapi
27 décembre 2024, par exorikIn general the problem is that the audio file is sent to a file without a picture. I first thought that the problem is that the picture is installed on the wrong version of id3, and tried four methods of installation


- 

-
via the ffmpeg
command = [ “ffmpeg”, “-i”, file_path, “-i”, cover_path, “-map”, “0”, “-map”, “1”, “-c:a”, “copy”, “-c:v”, “mjpeg”, “-id3v2_version”, “3“,”-y”, output_file, ]subprocess.run(command, check=True)


-
via eyed3, audiofile.tag.images.set(
eyed3.id3.frames.ImageFrame.FRONT_COVER,
cover_data,
“` image/jpeg,
)


-
through the mutagen library, tried setting audio.add(
APIC(
encoding=3,
mime=“image/jpeg”,
type=3,
desc=“Cover”,
data=open(saved_photo, “rb”).read(),
)
)
At this stage I realized that the problem is not in the correct id3 tag setting, but in the method through which the audio file is sent. because if I opened it manually and sent it, the cover was there.
But I also tried installing the tag. second version. through the eyed3 library, but that also didn't result in the audio file with the cover art being sent to telegram.












and the exact same audio file, only with the cover art. (it hasn't been altered in any way)





user_states = {}




def save_audio(message):
 file_info = bot.get_file(message.audio.file_id)
 downloaded_file = bot.download_file(file_info.file_path)

 user_dir = os.path.join("TEMP", str(message.chat.id), "albums")
 os.makedirs(user_dir, exist_ok=True)

 original_file_name = (
 message.audio.file_name
 if message.audio.file_name
 else f"{message.audio.file_id}.mp3"
 )

 file_path = os.path.join(user_dir, original_file_name)

 if message.chat.id not in user_states:
 user_states[message.chat.id] = {"files": [], "stage": None}

 with open(file_path, "wb") as f:
 f.write(downloaded_file)

 user_states[message.chat.id]["files"].append(file_path)

 return file_path


def clear_metadata_for_file(file_path, user_id):
 clear_metadata = settings.get(str(user_id), {}).get("clear", True)

 if clear_metadata:
 temp_file_path = f"{file_path}.temp.mp3"
 command = [
 "ffmpeg",
 "-i",
 file_path,
 "-map_metadata",
 "-1",
 "-c:a",
 "copy",
 "-y",
 temp_file_path,
 ]
 subprocess.run(command, check=True)
 os.replace(temp_file_path, file_path)

 audio_file = eyed3.load(file_path)
 if audio_file.tag is not None:
 audio_file.tag.clear()
 audio_file.tag.save()

 else:
 return file_path


def send_files(message):
 chat_id = message.chat.id
 if chat_id not in user_states or "files" not in user_states[chat_id]:
 return "No files found"

 for file_path in user_states[chat_id]["files"]:
 try:
 with open(file_path, "rb") as f:
 bot.send_audio(chat_id, f)
 except Exception as e:
 return e



@bot.message_handler(content_types=["photo"])
def handle_cover(message):

 if message.content_type == "photo":
 try:

 saved_photo = save_photo(message)


 for file_path in user_states[message.chat.id]["files"]:

 audio = ID3(file_path)
 audio.add(
 APIC(
 encoding=3,
 mime="image/jpeg",
 type=3,
 desc="Cover",
 data=open(saved_photo, "rb").read(),
 )
 )
 audio.save(file_path)
 with open(saved_photo, "rb") as image_file:
 image_data = image_file.read()

 audiofile = eyed3.load(file_path)

 if audiofile.tag is None:
 audiofile.initTag(version=(2, 3, 0))

 audiofile.tag.images.set(
 3, image_data, "image/jpeg", description="Cover"
 )
 audiofile.tag.save(version=(2, 3, 0))

 send_files(message)

 except Exception as e:
 return

bot.infinity_polling()




I was hoping to get some audio files with cover art, and I'm sure there's no problem with that. But for some reason, the file itself is sent visually without the cover art. I'd really appreciate it if you could help me out with this.


-
-
PowerShell script to Embed Album art in MP3 files - issues with accelerated audio files in ffmpeg
4 mars, par moshe baruchiI am trying to embed album art into an MP3 file using a PowerShell script along with the TagLib library. The MP3 file has been speed-boosted using FFmpeg. When I run the script on regular audio files, it works fine, but with the accelerated audio files, the album art is only visible when I open the file in MP3Tag or in VLC. It's not showing up in Windows audio players and definitely not in File Explorer.


PowerShell code


param (
 [string]$audio,
 [string]$picture
)
Add-Type -Path "TagLib-Sharp.dll"
$audioFilePath = $audio
$albumArtPath = $picture
$audioFile = [TagLib.File]::Create($audioFilePath)
$tag = $audioFile.Tag
$newPictures = New-Object System.Collections.Generic.List[TagLib.Picture]
$newPictures.Add((New-Object TagLib.Picture($albumArtPath)))
$tag.Pictures = $newPictures.ToArray()
$audioFile.Save()



Commands in cmd


ffmpeg -i song.mp3 -i cover.jpg -map 0:a -map 1 -c:a copy -c:v mjpeg -metadata:s:vtitle="Album Cover" -metadata:s:v comment="Cover (front)" output_with_cover.mp3
del song.mp3
rename output_with_cover.mp3 song.mp3
powershell -ExecutionPolicy Bypass -File "albumart.ps1" -audio "song.mp3" -picture "picture.jpg"