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 (85)

  • Creating farms of unique websites

    13 avril 2011, par

    MediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
    This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...)

  • Le profil des utilisateurs

    12 avril 2011, par

    Chaque 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 (...)

  • Configurer la prise en compte des langues

    15 novembre 2010, par

    Accéder à la configuration et ajouter des langues prises en compte
    Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
    De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
    Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...)

Sur d’autres sites (13874)

  • Dealing with problems in FLAC audio files with ffmpeg

    15 janvier 2020, par Seamus

    I have gotten a set of FLAC (audio) files from a friend. I copied them to my Sonos music library, and got set to enjoy a nice album. Unfortunately, Sonos would not play the files. As a result I have been getting to know ffmpeg.

    Sonos’ complaint with the FLAC files was that it was "encoded at an unsupported sample rate". With rolling eyes and shaking head, I note that the free VLC media player happily plays these files, but the product I’ve paid for (Sonos) - does not. But I digress...

    ffprobe revealed that the FLAC files contain both an Audio channel and a Video channel :

    $ ffprobe -hide_banner  -show_streams "/path/to/Myaudio.flac"


       Duration: 00:02:23.17, start: 0.000000, bitrate: 6176 kb/s  
       Stream #0:0: Audio: flac, 176400 Hz, stereo, s32 (24 bit)  
       Stream #0:1: Video: mjpeg (Progressive), yuvj444p(pc, bt470bg/unknown/unknown), 450x446 [SAR 72:72 DAR 225:223], 90k tbr, 90k tbn, 90k tbc (attached pic)  
       Metadata:  
         comment         : Cover (front)  

    Cool ! I guess this is how some audio players are able to display the ’album artwork’ when they play a song ? Note also that the Audio stream is reported at 176400 Hz ! Apparently I’m out of touch ; I thought that 44.1khz sampling rate effectively removed all of the ’sampling artifacts’ we could hear. Anyway, I learned that Sonos would support a max of 48kHz sampling rate, and this (the 176.4kHz rate) is what Sonos was unhappy about. I used ffmpeg to ’dumb it down’ for them :

    $ ffmpeg -i "/path/to/Myaudio.flac" -sample_fmt s32 -ar 48000 "/path/to/Myaudio48K.flac"

    This seemed to work - at least I got a FLAC file that Sonos would play. However, I also got what looks like a warning of some sort :

    [swscaler @ 0x108e0d000] deprecated pixel format used, make sure you did set range correctly
    [flac @ 0x7feefd812a00] Frame rate very high for a muxer not efficiently supporting it.
    Please consider specifying a lower framerate, a different muxer or -vsync 2

    A bit more research turned up this answer which I don’t quite understand, and then in a comment says, "not to worry" - at least wrt the swscaler part of the warning.

    And that (finally) brings me to my questions :

    1.a. What framerate, muxer & other specifications make a graphic compatible with a majority of programs that use the graphic ?

    1.b. How should I use ffmpeg to modify the Video channel to set these specifications (ref. Q 1.a.) ?

    2.a. How do I remove the Video channel from the .flac audio file ?

    2.b. How do I add a Video channel into a .flac file ?

    EDIT :

    I asked the above (4) questions after failing to accomplish a ’direct’ conversion (a single ffmpeg command) from FLAC at 176.4 kHz to ALAC (.m4a) at 48 kHz (max supported by Sonos). I reasoned that an ’incremental’ approach through a series of conversions might get me there. With the advantage of hindsight, I now see I should have posted my original failed direct conversion incantation... we live and learn.

    That said, the accepted answer below meets my final objective to convert a FLAC file encoded at 176.4kHz to an ALAC (.m4a) at 48kHz, and preserve the cover art/video channel.

  • FFmpeg doesn't play audio, yet no error shown

    4 août 2023, par Kristupas

    So i'm learning Python and don't know much about FFmpeg. I am following a tutorial, which explains everything very clearly. Everything is working, with one exception. Whenever I try to get it to play a sound, it won't.. Here's what it is saying :

    


    INFO     discord.player ffmpeg process 2540 successfully terminated with return code of 1.

    


    And here's my code (forgive me for all of the childish things in there, i'm just trying out different features) :

    


    
import discord
import discord.ext
from discord import FFmpegPCMAudio
from discord.ext import commands
import random


Token = "No token for you :)"
client = commands.Bot(command_prefix = '!', intents=discord.Intents.all())


@client.event
async def on_ready():
    print(f"we're rolling as {client.user} \n")
    channel = client.get_channel(1022535885851459727)
    await channel.send("Tremble before my might hoomans😤😤")

#Member events:

@client.event
async def on_member_join(member):
    await member.send("Ok comrade, welcome to bot lab, pls not leave. Anways here rules \n1. No swearing \n2. No cursing \n3. No bullying, the owner is a crybaby \n4. No following the rules (u get banned if this one is broken)")
    channel = client.get_channel(1136658873688801302)
    jokes = [f"A failure known as {member} has joined this chat!", 
             f"Another {member} has joined the channel", 
             f"A {member} spawned", 
             f'cout << "{member} has joined teh chat" << endl;', 
             f"OUR great {member} has come to save us" ]
    await channel.send(jokes[random.randint(0,len(jokes))])

@client.event 
async def on_member_remove(member):
    await member.send("Bye our dear comrade")
    channel = client.get_channel(1136663317738442752)
    await channel.send(f"{member} has left the chat :(.)")

#Client commands:
    
@client.command()
async def hello(ctx):
    await ctx.send("Hello, I am pro bot")

@client.command()
async def byelol(ctx):
    await ctx.send("Bye, I am pro bot")
@client.command()
async def ping(ctx):
    await ctx.send(f"**pong** {ctx.message.author.mention}")


@client.event
async def on_message(message):
    message.content = message.content.lower()
    await client.process_commands(message)


#voice channel commands:

@client.command(pass_context = True)
async def micup(ctx):
    if (ctx.author.voice):
        await ctx.send(f"Joining on {ctx.message.author}'s command")
        channel = ctx.message.author.voice.channel
        voice = await channel.connect()
        source = FFmpegPCMAudio('Bluetooth.wav')
        player = voice.play(source)
        
        
        
    else:
        await ctx.send("No.")



@client.command(pass_Context = True)
async def leave(ctx):
    if (ctx.voice_client):
        await ctx.send(f"Leaving on {ctx.message.author}'s command")
        await ctx.guild.voice_client.disconnect()
    else:
        await ctx.send("Nyet. Im not in voice chat u stoopid hooman")


@client.command(pass_Context = True)
async def pause(ctx):
    voice = discord.utils.get(client.voice_clients, guild = ctx.guild)
    if voice.is_playing():
        await ctx.send("Pausing..⏸")
        voice.pause()
    else:
        await ctx.send("I don't think I will.")

@client.command(pass_Context = True)
async def resume(ctx):
    voice = discord.utils.get(client.voice_clients, guild = ctx.guild)
    if voice.is_paused():
        await ctx.send("My ears are bleeding")
        voice.resume()
    else:
        await ctx.send("ALREADY BLASTING MUSIC")

@client.command(pass_Context = True)
async def stop(ctx):
    voice = discord.utils.get(client.voice_clients, guild = ctx.guild)
    await ctx.send("You can stop the song, but you can't stop me!")
    voice.stop()

@client.command(pass_Context = True)
async def play(ctx, arg):
    await ctx.send("Playing..")
    voice = ctx.guild.voice_client
    source = FFmpegPCMAudio(arg)
    player = voice.play(source)

if '__main__' == __name__:
    client.run(Token)


    


    I tried installing different versions of ffmpeg, still nothing. I tried to run the code outside of my venv, but still nothing (i doubt that it's the problem). I changed the path to it to different folders, still nothing.
The only time it DID work is when i entered a full path, but then when you want to play something, you wouldn't want to say " !play D:_Python\DiscordBot\Bluetooth.wav". From what i've seen, it's possible to play it by just saying " !play Bluetooth.wav".

    


    So long story short : I want to make it so that the path i have to specify is just the file name. And when I do, it doesn't play the sound.
(sorry if this is a dupe question, i just couldn't find anything understandable for my amateur brain)

    


  • OpenGLES glReadPixels exc_bad_access

    29 novembre 2011, par Yanny

    I'm trying to create video from images using OpenGLES and ffmpeg, but on iPad(4.3) I have a crash on glReadPixels

    -(NSData *) glToUIImage {

       int numberOfComponents = NUMBER_OF_COMPONENTS; //4
       int width = PICTURE_WIDTH;
       int height = PICTURE_HEIGHT;

       NSInteger myDataLength = width * height * numberOfComponents;  

       NSMutableData * buffer= [NSMutableData dataWithLength :myDataLength];    

       [self checkForGLError];

       GLenum type = NUMBER_OF_COMPONENTS == 3 ? GL_RGB : GL_RGBA; //RGBA
       glReadPixels(0, 0, width, height, type, GL_UNSIGNED_BYTE, [buffer mutableBytes]);   //EXC_BAD_ACCESS here

       return buffer;
    }

    It is working on iPhone 4 (4.3) and iPod Touch, but have problems on iPhone 3G(3.0) and iPad(4.3). Can you help me with this issue ?

    Also on iPhone 3G(3.0) and iPad(4.3) I have problems with Video - first 5-20 video frames have trash. Maybe issue with optimization ? Or architecture ?