Recherche avancée

Médias (91)

Autres articles (98)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

  • Des sites réalisés avec MediaSPIP

    2 mai 2011, par

    Cette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
    Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page.

  • ANNEXE : Les plugins utilisés spécifiquement pour la ferme

    5 mars 2010, par

    Le site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)

Sur d’autres sites (13983)

  • 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;

  • 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.

    &#xA;

    m3u8 video link :

    &#xA;

    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

    &#xA;

    ffmpeg error :

    &#xA;

    [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

    &#xA;

    k/timestamp encrypted response :

    &#xA;

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

    &#xA;

    js files :

    &#xA;

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

    &#xA;

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

    &#xA;

  • What Every Programmer Should Know

    24 décembre 2012, par Multimedia Mike — General

    During my recent effort to force myself to understand Unicode and modern text encoding/processing, I was reminded that this is something that “every programmer should just know”, an idea that comes up every so often, usually in relation to a subject in which the speaker is already an expert. One of the most absurd examples I ever witnessed was a blog post along the lines of “What every working programmer ought to know about [some very specific niche of enterprise-level Java programming]“. I remember reading through the article and recognizing that I had almost no knowledge of the material. Disturbing, since I am demonstrably a “working programmer”.

    For fun, I queried the googles on the matter of what ever programmer ought to know.

    Specific Topics
    Here is what every programmer should know about : Unicode, time, memory (simple), memory (extremely in-depth), regular expressions, search engine optimization, floating point, security, basic number theory, race conditions, managed C++, VIM commands, distributed systems, object-oriented design, latency numbers, rate monotonic algorithm, merging branches in Mercurial, classes of algorithms, and human names.

    Broader Topics
    20 subjects every programmer should know, 97 things every programmer should know, 12 things every programmer should know, things every programmer should know (27 items), 10 papers every programmer should read at least twice, 10 things every programmer should know for their first job.

    Meanwhile, I remain fond of this xkcd comic whose mouseover text describes all that a person genuinely needs to know. Still, the new year is upon us, a time when people often make commitments to bettering themselves, and it couldn’t hurt (much) to at least skim some of the lists and find out what you never knew that you never knew.

    What About Multimedia ?
    Reading the foregoing (or the titles of the foregoing pieces), I naturally wonder if I should write something about what every programmer should know about multimedia. I think it would look something like a multimedia programming FAQ. These are some items that I can think of :

    1. YUV : The other colorspace (since most programmers are only familiar with RGB and have no idea what to make of the YUV that comes out of most video decoding APIs)
    2. Why you can’t easily seek randomly to any specific frame in a video file (keyframe/interframe discussion and their implications)
    3. Understand your platform before endeavoring to implement multimedia software (modern platforms, particularly mobile platforms, probably provide everything you need in the native APIs and there is likely little reason to compile libavcodec for the platform)
    4. Difference between containers and codecs (longstanding item, but I would argue it’s less relevant these days due to standardization on the MPEG — MP4/H.264/AAC — stack)
    5. What counts as a multimedia standard in this day and age (comparing the foregoing MPEG stack with the WebM/VP8/Vorbis stack)
    6. Trade-offs to consider when engineering a multimedia solution
    7. Optimization doesn’t always work the way you think it does (not everything touted as a massive speed-up in the world of computing — whether it be multithreaded CPUs, GPGPUs, new SIMD instruction sets — will necessarily be applicable to multimedia processing)
    8. A practical guide to legal issues would not be amiss
    9.  ???

    What other items count as “something multimedia-related that every programmer should know” ?