Recherche avancée

Médias (91)

Autres articles (50)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

  • De l’upload à la vidéo finale [version standalone]

    31 janvier 2010, par

    Le chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
    Upload et récupération d’informations de la vidéo source
    Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
    Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...)

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

Sur d’autres sites (9580)

  • FFMPEG m3u8 video download from login required site

    30 octobre 2024, par Nirob Saju

    I am trying to download an m3u8 video using FFmpeg from a site that requires login to access the content. When inspecting the Network tab in Chrome DevTools, I see that the response for the /k/timestamp file is encrypted. I have identified some JavaScript files that seem to handle the decryption, and I need help extracting or decoding the AES key used for this encryption.

    


    m3u8 video link :

    


    https://qcdn.spayee.in/spees/w/o/6220ccd30cf263f8af9067d0/v/63e4f548e4b0eefe383262fb/u/66ed03d201d3836b2a2e9a14/t/563072098a6027b88583b67efb5d3662/p/assets/videos/6220ccd30cf263f8af9067d0/2023/02/09/63e4f548e4b0eefe383262fb/hls_500k_.m3u8

    


    ffmpeg error :

    


    [hls @ 0432ea40] Unable to open key file https://qcdn.spayee.in/spees/w/o/6220ccd30cf263f8af9067d0/v/63e4f548e4b0eefe383262fb/u/66ed03d201d3836b2a2e9a14/t/b4a8d7afda4fbc89a2dc30762bc176db/p/assets/videos/6220ccd30cf263f8af9067d0/2023/02/09/63e4f548e4b0eefe383262fb/k/timestamp

    


    k/timestamp encrypted response :

    


    RD�QC+��Kɨi�r|>dnmwK}N !UkqC[66Ye0ZOw ?o6660)]2� !y��jaM�S��

    


    js files :

    


    https://d502jbuhuh9wk.cloudfront.net/static/files/hls.324013256245304581.min.js
https://drive.google.com/file/d/1HBm_ykS7UVSaY6zyF4G1_RJb9IdgA32W/view?usp=sharing

    


    any idea how to successfully download the video ? note : i also try with yt-dlp but not downloading

    


  • FFmpegAudio object has no attribute _process

    28 janvier 2023, par Benjamin Tsoumagas

    I'm trying to make a Discord music bot that is remotely hosted and to do that I need ffmpeg to work. I was able to add it using my Dockerfile but upon trying to play music with the bot I get the following errors. For context, I am hosting on Fly.io and using python with the Nextcord library. Below is my relevant code and the error message. Please let me know if any more information is required.

    


    import nextcord, os, json, re, youtube_dl
from nextcord import Interaction, application_checks
from nextcord.ext import commands

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',
}

ffmpeg_options = {"options": "-vn"}

ytdl = youtube_dl.YoutubeDL(ytdl_format_options)

class YTDLSource(nextcord.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")

    @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))

        if "entries" in data:
            data = data["entries"][0]
        
        filename = data["url"] if stream else ytdl.prepare_filename(data)
        return cls(nextcord.FFmpegAudio(filename, *ffmpeg_options), data=data)

async def ensure_voice(interaction: Interaction):
    if interaction.guild.voice_client is None:
        if interaction.user.voice:
            await interaction.user.voice.channel.connect()
        else:
            await interaction.send("You are not connected to a voice channel.")
            raise commands.CommandError("Author not connected to a voice channel.")
    elif interaction.guild.voice_client.is_playing():
        interaction.guild.voice_client.stop()

class Music(commands.Cog, name="Music"):
    """Commands for playing music in voice channels"""

    COG_EMOJI = "🎵"

    def __init__(self, bot):
        self.bot = bot
    
    @application_checks.application_command_before_invoke(ensure_voice)
    @nextcord.slash_command()
    async def play(self, interaction: Interaction, *, query):
        """Plays a file from the local filesystem"""

        source = nextcord.PCMVolumeTransformer(nextcord.FFmpegPCMAudio(query))
        interaction.guild.voice_client.play(source, after=lambda e: print(f"Player error: {e}") if e else None)

        await interaction.send(f"Now playing: {query}")

    @application_checks.application_command_before_invoke(ensure_voice)
    @nextcord.slash_command()
    async def yt(self, interaction: Interaction, *, url):
        """Plays from a URL (almost anything youtube_dl supports)"""

        async with interaction.channel.typing():
            player = await YTDLSource.from_url(url, loop=self.bot.loop)
            interaction.guild.voice_client.play(
                player, after=lambda e: print(f"Player error: {e}") if e else None
            )

        await interaction.send(f"Now playing: {player.title}")

    @application_checks.application_command_before_invoke(ensure_voice)
    @nextcord.slash_command()
    async def stream(self, interaction: Interaction, *, url):
        """Streams from a URL (same as yt, but doesn't predownload)"""

        async with interaction.channel.typing():
            player = await YTDLSource.from_url(url, loop=self.bot.loop, stream=True)
            interaction.voice_client.play(
                player, after=lambda e: print(f"Player error: {e}") if e else None
            )

        await interaction.send(f"Now playing: {player.title}")

def setup(bot):
    bot.add_cog(Music(bot))


    


    2023-01-28T23:16:15Z app[7d3b734a] yyz [info]Exception ignored in: <function at="at" 0x7fa78ea61fc0="0x7fa78ea61fc0">&#xA;2023-01-28T23:16:15Z app[7d3b734a] yyz [info]Traceback (most recent call last):&#xA;2023-01-28T23:16:15Z app[7d3b734a] yyz [info]  File "/usr/local/lib/python3.10/site-packages/nextcord/player.py", line 116, in __del__&#xA;2023-01-28T23:16:15Z app[7d3b734a] yyz [info]    self.cleanup()&#xA;2023-01-28T23:16:15Z app[7d3b734a] yyz [info]  File "/usr/local/lib/python3.10/site-packages/nextcord/player.py", line 235, in cleanup&#xA;2023-01-28T23:16:15Z app[7d3b734a] yyz [info]    self._kill_process()&#xA;2023-01-28T23:16:15Z app[7d3b734a] yyz [info]  File "/usr/local/lib/python3.10/site-packages/nextcord/player.py", line 191, in _kill_process&#xA;2023-01-28T23:16:15Z app[7d3b734a] yyz [info]AttributeError: &#x27;FFmpegA&#xA;2023-01-28T23:16:15Z app[7d3b734a] yyz [info]AttributeError: &#x27;FFmpegA&#xA;dio&#x27; object has no attribute &#x27;_process&#x27;&#xA;2023-01-28T23:16:15Z app[7d3b734a] yyz [info]Ignoring exception in command :&#xA;2023-01-28T23:16:15Z app[7d3b734a] yyz [info]Traceback (most recent call last):&#xA;2023-01-28T23:16:15Z app[7d3b734a] yyz [info]  File "/usr/local/lib/python3.10/site-packages/nextcord/application_command.py", line 863, in invoke_callback_with_hooks&#xA;2023-01-28T23:16:15Z app[7d3b734a] yyz [info]    await self(interaction, *args, **kwargs)&#xA;2023-01-28T23:16:15Z app[7d3b734a] yyz [info]  File "/main/cogs/music.py", line 153, in yt&#xA;2023-01-28T23:16:15Z app[7d3b734a] yyz [info]    player = await YTDLSource.from_url(url, loop=self.bot.loop)&#xA;2023-01-28T23:16:15Z app[7d3b734a] yyz [info]  File "/main/cogs/music.py", line 71, in from_url    &#xA;2023-01-28T23:16:15Z app[7d3b734a] yyz [info]    return cls(nextcord.FFmpegAudio(filename, *ffmpeg_options), data=data)&#xA;2023-01-28T23:16:15Z app[7d3b734a] yyz [info]&#xA;The above exception was the direct cause of the following exception:&#xA;&#xA;re given&#xA;2023-01-28T23:16:15Z app[7d3b734a] yyz [info]The above exception was the direct cause of the following exception:&#xA;2023-01-28T23:16:15Z app[7d3b734a] yyz [info]nextcord.errors.ApplicationInvokeError: Command raised an exception: TypeError: FFmpegAudio.__init__() takes 2 positional arguments but 3 were given     &#xA;2023-01-28T23:16:19Z app[7d3b734a] yyz [info]Exception ignored in: <function at="at" 0x7fa78ea61fc0="0x7fa78ea61fc0">&#xA;2023-01-28T23:16:19Z app[7d3b734a] yyz [info]Traceback (most recent call last):&#xA;2023-01-28T23:16:19Z app[7d3b734a] yyz [info]  File "/usr/local/lib/python3.10/site-packages/nextcord/player.py", line 116, in __del__&#xA;2023-01-28T23:16:19Z app[7d3b734a] yyz [info]    self.cleanup()&#xA;2023-01-28T23:16:19Z app[7d3b734a] yyz [info]  File "/usr/local/lib/python3.10/site-packages/nextcord/player.py", line 235, in cleanup&#xA;2023-01-28T23:16:19Z app[7d3b734a] yyz [info]    self._kill_process()&#xA;2023-01-28T23:16:19Z app[7d3b734a] yyz [info]  File "/usr/local/lib/python3.10/site-packages/nextcord/player.py", line 191, in _kill_process&#xA;2023-01-28T23:16:19Z app[7d3b734a] yyz [info]    proc = self._process&#xA;2023-01-28T23:16:19Z app[7d3b734a] yyz [info]AttributeError: &#x27;FFmpegAudio&#x27; object has no attribute &#xA;&#x27;_process&#x27;&#xA;2023-01-28T23:16:19Z app[7d3b734a] yyz [info]Ignoring exception in command :&#xA;2023-01-28T23:16:19Z app[7d3b734a] yyz [info]Traceback (most recent call last):&#xA;2023-01-28T23:16:19Z app[7d3b734a] yyz [info]  File "/usr/local/lib/python3.10/site-packages/nextcord/application_command.py", line 863, in invoke_callback_with_hooks&#xA;2023-01-28T23:16:19Z app[7d3b734a] yyz [info]    await self(interaction, *args, **kwargs)&#xA;2023-01-28T23:16:19Z app[7d3b734a] yyz [info]  File "/main/cogs/music.py", line 153, in yt&#xA;2023-01-28T23:16:19Z app[7d3b734a] yyz [info]    player = await YTDLSource.from_url(url, loop=self.bot.loop)&#xA;2023-01-28T23:16:19Z app[7d3b734a] yyz [info]  File "/main/cogs/music.py", line 71, in from_url    &#xA;2023-01-28T23:16:19Z app[7d3b734a] yyz [info]    return cls(nextcord.FFmpegAudio(filename, *ffmpeg_options), data=data)&#xA;2023-01-28T23:16:19Z app[7d3b734a] yyz [info]TypeError: FFmpegAudio.__init__() takes 2 positional arguments but 3 were given&#xA;2023-01-28T23:16:19Z app[7d3b734a] yyz [info]The above exception was the direct cause of the following exception:&#xA;2023-01-28T23:16:19Z app[7d3b734a] yyz [info]nextcord.errors.ApplicationInvokeError: Command raised an exception: TypeError: FFmpegAudio.__init__() takes 2 positional arguments but 3 were given&#xA;</function></function>

    &#xA;

    Similar posts have been made but their issues were typos in changing 'option' : '-vn' to 'options' : '-vn'. I've combed through for any other errors but I can't find any. I was hoping to see I made a similar mistake, but this is the template I was following from the Nextcord developers and I had no luck :

    &#xA;

  • Anomalie #2915 : dans privé en colonne gauche dans h3, chevauchement texte sur lien "plus d’info"

    4 mai 2015, par chan kalan

    Je viens de mettre une vue d’écran un peu plus tôt (https://core.spip.net/attachments/download/717/Capture%20d_%C3%A9cran%202015-05-03%20%C3%A0%2023.14.12.png) , au même endroit que toi en page accueil de l’espace privé (et mes exemples précédents se sont perdus depuis 2 ans... désolé), tu peux essayer avec un texte un peu différent, ou en reprenant le même que moi si tu veux, même si ça peut changer en fonction des typographies, je sais pas... Quoi qu’il en soit, l’image n’est pas flottante, elle est en positionnée en absolu, donc c’est bien normal que le texte se superpose.