Recherche avancée

Médias (0)

Mot : - Tags -/objet éditorial

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (47)

  • Récupération d’informations sur le site maître à l’installation d’une instance

    26 novembre 2010, par

    Utilité
    Sur le site principal, une instance de mutualisation est définie par plusieurs choses : Les données dans la table spip_mutus ; Son logo ; Son auteur principal (id_admin dans la table spip_mutus correspondant à un id_auteur de la table spip_auteurs)qui sera le seul à pouvoir créer définitivement l’instance de mutualisation ;
    Il peut donc être tout à fait judicieux de vouloir récupérer certaines de ces informations afin de compléter l’installation d’une instance pour, par exemple : récupérer le (...)

  • Les formats acceptés

    28 janvier 2010, par

    Les commandes suivantes permettent d’avoir des informations sur les formats et codecs gérés par l’installation local de ffmpeg :
    ffmpeg -codecs ffmpeg -formats
    Les format videos acceptés en entrée
    Cette liste est non exhaustive, elle met en exergue les principaux formats utilisés : h264 : H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 m4v : raw MPEG-4 video format flv : Flash Video (FLV) / Sorenson Spark / Sorenson H.263 Theora wmv :
    Les formats vidéos de sortie possibles
    Dans un premier temps on (...)

  • La sauvegarde automatique de canaux SPIP

    1er avril 2010, par

    Dans le cadre de la mise en place d’une plateforme ouverte, il est important pour les hébergeurs de pouvoir disposer de sauvegardes assez régulières pour parer à tout problème éventuel.
    Pour réaliser cette tâche on se base sur deux plugins SPIP : Saveauto qui permet une sauvegarde régulière de la base de donnée sous la forme d’un dump mysql (utilisable dans phpmyadmin) mes_fichiers_2 qui permet de réaliser une archive au format zip des données importantes du site (les documents, les éléments (...)

Sur d’autres sites (6753)

  • WordPress Analytics plugin WP-Piwik reaches version 1.0.0 (and 50,000 active users)

    29 mai 2015, par André Bräkling — Plugins

    After six years of development, we are proud to announce the 1.0.0 release of our WP-Piwik WordPress plugin !

    Started as a simple plugin to show a selection of statistics within the WordPress dashboard, WP-Piwik has become a full Piwik integration plugin. The plugin automatically adds the Piwik tracking code to your WordPress sites. The plugin displays your analytics reports directly within the WordPress admin panel. WordPress networks (“multisite”), CDN URLs and the Piwik proxy script are also supported.

    According to WordPress.org the plugin is being used by more than 50,000 WordPress sites !

    This article explains how to install WP-Piwik and how to configure it to work with your Piwik instance.

    Install WP-Piwik

    You can get WP-Piwik using WordPress’ plugin management. Login to your WordPress admin dashboard and go to « Plugins » → « Add New ». Enter « WP-Piwik » into the search field at the top right, press enter and next to WP-Piwik choose « Install Now ».

    If you want to use WP-Piwik in your simple WordPress blog you can just click « Activate Plugin » and WP-Piwik will ask you to configure your Piwik connection.

    Running a WordPress network/multisite you can choose to « Network Activate » the plugin after the installation process. In this case, WP-Piwik will be a fully automated feature of your WordPress network automatically tracking your sites in the same Piwik instance in separate Websites.

    Alternatively you can download WP-Piwik manually from the WordPress website and upload all files to your `wp-content/plugins` directory.

    Configure your Piwik connection

    WP-Piwik lets you choose between three connection modes :

    • Self-hosted (HTTP API) : This is the default option for a self-hosted Piwik and should work for most configurations. You just have to know your Piwik URL, which is the URL you enter to access Piwik, and your auth token (see below). WP-Piwik will connect to Piwik using http(s)-requests.
    • Self-hosted (PHP API) : Choose this, if your self-hosted Piwik and WordPress are running on the same machine and you know the full server path to your Piwik instance. Beside the full server path, you also need to know your auth token (see below).
    • Cloud-hosted (Piwik Pro) : If you are using a cloud-hosted Piwik by Piwik Pro, you just need to know your user name and your auth token (see below).

    Setting up WP-Piwik

    To configure WP-Piwik you will need to specify your Authentication token.

    • If the site you want to track in Piwik is already configured in your Piwik, you only need to specify a token_auth for a user with `view` permission.
    • If you want WP-Piwik to create the website in Piwik (or if you use WP-Piwik in network mode which requires to be able to configure your sites), you should specify a token_auth which has Super User access (after the setting up phase is completed you can set the authentication token back to the token of a `view` user).

    To find your token_auth in Piwik, click on your user name in the right right corner of your Piwik dashboard, then click the « API » in the left menu. The API page displays your auth token in a colored box, just behind the “&token_auth=” string. The screenshot below shows the token_auth anonymous, but your real one will be an alpha numerous random string like a1ec31524a8eabc7a546d71d68b28d17.

    That’s it. After you entered your connection data and submitted the form, WP-Piwik will welcome you with some information :

    You can now start to configure WP-Piwik and enable the tracking code. Learn about any setting by clicking on the small question mark sign. If you have any problem configuring or using WP-Piwik feel free to use the WordPress support forum related to WP-Piwik.

    Translating WP-Piwik

    We invite you to join our translation community at Transifex and help to translate WP-Piwik in more languages !

    Happy WordPress Analytics !

  • 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 merging videos Non-monotonous DTS in output stream 0:1 [closed]

    29 avril 2023, par Eric Velez

    When i use this command it in generally works with no issues but I get this warning and the video is super long (should be 20 or 30 seconds and is 24 minutes)

    &#xA;

    ffmpeg -f concat -safe 0 -i manual.txt -c copy C:\Users\Eric\Downloads\manual_merge\asdf.mp4&#xA;

    &#xA;

    this is the output from the command promp

    &#xA;

    [mp4 @ 000001b34d593fc0] Non-monotonous DTS in output stream 0:1; previous: 608569, current: 12201; changing to 608570. This may result in incorrect timestamps in the output file.&#xA;

    &#xA;

    how do i fix this warning ?

    &#xA;