
Recherche avancée
Autres articles (94)
-
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 (...) -
Emballe médias : à quoi cela sert ?
4 février 2011, parCe plugin vise à gérer des sites de mise en ligne de documents de tous types.
Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ; -
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 (...)
Sur d’autres sites (10116)
-
Youtube Dlp returns with error code of 400 [closed]
10 mars 2024, par nikita goncharovI have a python discord bot that can play music and uses discord.py https://discordpy.readthedocs.io/en/stable/. To play get the music I use yt_dlp or youtube_dl. But when requesting a video it returns with a 400 error code.


This is the error with yt_dlp :


WARNING: [youtube] YouTube said: ERROR - Precondition check failed.


WARNING: [youtube] HTTP Error 400: Bad Request. Retrying (1/3)...


WARNING: [youtube] YouTube said: ERROR - Precondition check failed.


WARNING: [youtube] HTTP Error 400: Bad Request. Retrying (2/3)...


WARNING: [youtube] YouTube said: ERROR - Precondition check failed.


WARNING: [youtube] HTTP Error 400: Bad Request. Retrying (3/3)...


WARNING: [youtube] YouTube said: ERROR - Precondition check failed.


WARNING: [youtube] Unable to download API page: HTTP Error 400: Bad Request (caused by <httperror>)</httperror>


I will leave some of the code that I use for my bot... The youtube setup settings :


import youtube_dl


or


import yt_dlp as youtube_dl


youtube_dl.utils.bug_reports_message = lambda: ''


ytdl_format_options = {
 'format': 'bestaudio/best',
 'outtmpl': '%(extractor)s-%(id)s-%(title)s.%(ext)s',
 'restrictfilenames': True,
 'noplaylist': True,
 'nocheckcertificate': True,
 'ignoreerrors': False,
 'logtostderr': False,
 'quiet': True,
 'no_warnings': True,
 'default_search': 'auto',
 'source_address': '0.0.0.0', # bind to ipv4 since ipv6 addresses cause issues sometimes
}

ffmpeg_options = {
 'options': '-vn',
}

ytdl = youtube_dl.YoutubeDL(ytdl_format_options)


class YTDLSource(discord.PCMVolumeTransformer):
 def __init__(self, source, *, data, volume=0.5):
 super().__init__(source, volume)

 self.data = data

 self.title = data.get('title')
 self.url = data.get('url')
 self.duration = data.get('duration')
 self.image = data.get("thumbnails")[0]["url"]
 @classmethod
 async def from_url(cls, url, *, loop=None, stream=False):
 loop = loop or asyncio.get_event_loop()
 data = await loop.run_in_executor(None, lambda: ytdl.extract_info(url, download=not stream))
 #print(data)

 if 'entries' in data:
 # take first item from a playlist
 data = data['entries'][0]
 #print(data["thumbnails"][0]["url"])
 #print(data["duration"])
 filename = data['url'] if stream else ytdl.prepare_filename(data)
 return cls(discord.FFmpegPCMAudio(filename, **ffmpeg_options), data=data)



Approximately the command to run the audio (from my bot) :


sessionChanel = message.author.voice.channel await sessionChannel.connect() url = matched.group(1) player = await YTDLSource.from_url(url, loop=client.loop, stream=True) sessionChannel.guild.voice_client.play(player, after=lambda e: print( f'Player error: {e}') if e else None) 



I searched for posts with the same error and they where either old or didn't solve my problem.


I tried importing instead of yt_dlp, I tried importing youtube_dl. But when I make the request it does not answer, no exception and no warning it just does not answer, as if the funcion is empty


I will link my other post that I asked. It might be usefull : Error : Unable to extract uploader id - Youtube, Discord.py


-
ffmpeg, stereo + 5.1 surround, and YouTube's "Recommended upload encoding settings"
31 juillet 2021, par CoreyVidalI'm trying to make sense of something YouTube has listed on their recommended upload encoding settings for the best possible quality. Here's the link : https://support.google.com/youtube/answer/1722171#zippy=%2Caudio-codec-aac-lc


Specifically this line :




- 

- Channels : Stereo or Stereo + 5.1






I'm Googling for "Stereo + 5.1" and anything to do with ffmpeg but I can't seem to find much of anything.


I have trailers with surround audio I need to export for a client for YouTube.


-
download part youtube video with ffmpeg ?
1er août 2020, par testoflowI can't get this right

ffmpeg works well so can you help me ?

#I can't get this right


#!/bin/bash
var=$(xclip -o)

if [ -z $var ]; then 
 echo 'copia url a descargar al portapapeles' 
fi 

printf "(1) download part of video without audio\n"
printf "(2) download part of audio\n"
echo
echo -n 'opcion: '
read opcion
case $opcion in
 "1") c=$(youtube-dl -g $var | awk '{ if(NR==1) print $0 }' | sed 's/^/"/;s/$/"/') && echo -n 'start time: ' && read segundos && echo -n 'duration: ' && read duration && ffmpeg -i $c -ss $segundos -t $duration probe.mp4;; 
 "2") b=$(youtube-dl -g $var | awk '{ if(NR==2) print $0 }' | sed 's/^/"/;s/$/"/') && echo $b && ffmpeg -ss 0 -i $b -t 10 probe.mp3;; 
esac