Recherche avancée

Médias (1)

Mot : - Tags -/pirate bay

Autres articles (104)

  • Les tâches Cron régulières de la ferme

    1er décembre 2010, par

    La gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
    Le super Cron (gestion_mutu_super_cron)
    Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

  • 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 (13049)

  • Why can I not change the number of frames (nframes) in a gganimate animation ? SOLVED

    26 décembre 2022, par Gekin

    I have produced an animation per gganimate and rendered it per ffmpeg. It works just fine, but only, if I do not change the number of frames. If I do set the number of frames, I get this error message :

    


    nframes and fps adjusted to match transition
Error parsing framerate 8,4.                           
Error: Rendering with ffmpeg failed


    


    I produced the gganim MonthlyAveragePrecipitationMap the following way :

    


    options(scipen = 999, OutDec  =  ",")

MonthlyAveragePrecipitationMap = ggplot(MonthlyAverageExtremePrecipitation) + 
  geom_path(data = map_data("world","Germany"),
            aes(x = long, y = lat, group = group)) +
  coord_fixed(xlim = c(6,15),
              ylim = c(47,55)) + 
  geom_point(aes(x=lon, y=lat, 
                 colour = ShareOfExtremePrecipitationEvents,
                 group = MonthOfYear),
             size = 3) + 
  scale_color_gradient(low="blue", high="yellow") + 
  xlab("Longitude (degree)") +
  ylab("Latitude (degree)") + 
  theme_bw() +
  transition_manual(frames = MonthOfYear) + 
  labs(title = '{unique(MonthlyAverageExtremePrecipitation$MonthOfYear)[as.integer(frame)]}', 
       color = paste0("Share of Extreme Precipitation Events \namong all Precipitation Events")) 


    


    I call the animation the following way :

    


    animate(MonthlyAveragePrecipitationMap,
        nframes = 300,
        renderer =
          ffmpeg_renderer(
            format = "auto",
            ffmpeg = NULL,
            options = list(pix_fmt = "yuv420p")))



    


    I used this exact code just a few days ago and it worked fine.

    


    Has someone had similar experiences ?
Thanks in advance.

    


    EDIT : Problem solved.

    


      

    • Problem : Changing the decimal seperator from . to , per options(dec=",")
    • 


    • Solution : Changing the decimal seperator locally within the axis scaling per function.
    • 


    


  • How to overlay a box on a transparent video in FFmpeg

    28 août 2023, par Sidney

    I'm trying to overlay a box and image on a transparent video in FFmpeg and Python, and have it show up in video editors.

    


    I've written the following code :

    


    import ffmpeg

stream = ffmpeg.input("/dev/zero", f='rawvideo', pix_fmt='rgba', s='{}x{}'.format(1920, 1080),
                              r=30)

stream = ffmpeg.overlay(stream, ffmpeg.input("tmp.png"), x=0, y=0)
stream = ffmpeg.drawbox(stream, x=900, y=100, width=500, height=500, color='blue', thickness="fill")
stream = ffmpeg.trim(stream, duration=1)
stream = ffmpeg.output(stream, "out.webm",
                       pix_fmt="yuva420p")
ffmpeg.run(stream)


    


    While the box displays in most video players :
    
Clip
    
When I try to overlay it on another image in any video editor like Kdenlive or Shotcut, or open in FireFox, it doesn't appear :
    
enter image description here

    


    This seems odd considering the overlayed image displays fine. Is there something wrong with the drawbox call ?

    


    EDIT :
The same issue occurs when exporting as PNGs, where no frames contain the box when it's not over the image :

    


    stream = ffmpeg.output(stream, "out/out%d.png")


    


    enter image description here

    


  • Hello ! I have a little problem with my discord.py music bot

    5 mars 2021, par Luca M. Schmidt

    i'm rather new/unexpierience with youtube-dl and python. The thing i'm triying to do is to add a queue system to my music cog. When possible it should be able to add songs and start the next song after the first one ended as well. You dont need to provide the complete code for it, tryingt to explain how it should work and giving some tipps should be enought. If more information is needed, feel free to ask. Thx for helping.

    


    My Code (Stripped down a bit) :

    


    # IMPORT


import discord
from discord.ext import commands
import json
import asyncio
import youtube_dl



# LOKALE_VARIABLEN


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)

songs = asyncio.Queue()
play_next_song = asyncio.Event()


# ----

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.thumbnail = data.get('thumbnail')


    @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(discord.FFmpegPCMAudio(filename, **ffmpeg_options), data=data)


# COG_SETUP(START)


class Music(commands.Cog):

    def __init__(self, client):
        self.client = client


    @commands.command()
    async def join(self, ctx, *, channel: discord.VoiceChannel):

        if ctx.voice_client is not None:
            return await ctx.voice_client.move_to(channel)

        await channel.connect()

    @commands.command()
    @commands.cooldown(1, 10, commands.BucketType.user)
    async def play(self, ctx, *, url):

        try:

            async with ctx.typing():
                player = await YTDLSource.from_url(url, loop=self.client.loop, stream=True)
            ctx.voice_client.play(player, after=lambda e: print('Player error: %s' % e) if e else None)

        except:
            embed = discord.Embed(
                title='Fehler!',
                colour=discord.Colour.red(),
                description='Dies ist eine nicht Unterstützte URL!'
            )

            return await ctx.send(embed=embed)

        embed = discord.Embed(
            title='',
            colour=discord.Colour.blue(),
            description=f'[{format(player.title)}]({player.url})'
        )
        embed.set_author(name='Spielt gerade:')
        embed.set_image(url=player.thumbnail)
        embed.set_footer(text=f'Hinzugefügt von: {ctx.author.name}', icon_url=ctx.author.avatar_url)


        await ctx.send(embed=embed)




    @commands.command()
    async def volume(self, ctx, volume: int):

        if ctx.voice_client is None:

            embed = discord.Embed(
                title='Fehler!',
                colour=discord.Colour.red(),
                description='Ich bin mit keinem Sprachkanal verbunden!'
            )

            return await ctx.send(embed=embed)

        elif ctx.voice_client is not None:

            if volume in range(0, 201):
                try:
                    ctx.voice_client.source.volume = volume / 100

                    embed = discord.Embed(
                        title='Lautstärke',
                        colour=discord.Colour.blue(),
                        description=f'Lautstärke auf **{format(volume)}**% gestellt.'
                    )
                    embed.set_footer(text=f"Angepasst von: {ctx.author.name}", icon_url=ctx.author.avatar_url)

                    return await ctx.send(embed=embed)
                except:
                    pass

            else:

                embed = discord.Embed(
                    title='Fehler!',
                    colour=discord.Colour.red(),
                    description='Das ist Lauter, als die Musik geht!'
                )

                return await ctx.send(embed=embed)

    @commands.command()
    async def stop(self, ctx):
        try:

            await ctx.voice_client.disconnect()
            await ctx.message.delete()

        except:
            pass

    @commands.command()
    async def pause(self, ctx):

        if ctx.voice_client.is_playing():

            ctx.voice_client.pause()
            await ctx.message.delete()
            return

        else:

            embed = discord.Embed(
                title='Fehler!',
                colour=discord.Colour.red(),
                description='Es spielt keine Musik!'
            )

            return await ctx.send(embed=embed)

    @commands.command()
    async def resume(self, ctx):

        if ctx.voice_client.is_paused():

            ctx.voice_client.resume()
            await ctx.message.delete()
            return

        else:

            embed = discord.Embed(
                title='Fehler!',
                colour=discord.Colour.red(),
                description='Es wurde keine Musik pausiert, darum kann ich auch nichts fortsetzen!'
            )

            return await ctx.send(embed=embed)

    @resume.before_invoke
    @play.before_invoke
    async def ensure_voice(self, ctx):
        if ctx.voice_client is None:
            if ctx.author.voice:
                try:

                    await ctx.author.voice.channel.connect()

                except commands.CommandError:
                    embed = discord.Embed(
                        title='Fehler!',
                        colour=discord.Colour.red(),
                        description='Du bist nicht mit einem Sprachkanal verbunden!'
                    )

                    await ctx.send(embed=embed)

        elif ctx.voice_client.is_playing():
            ctx.voice_client.stop()


# COG_SETUP(END)


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