Recherche avancée

Médias (17)

Mot : - Tags -/wired

Autres articles (42)

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

  • Participer à sa documentation

    10 avril 2011

    La documentation est un des travaux les plus importants et les plus contraignants lors de la réalisation d’un outil technique.
    Tout apport extérieur à ce sujet est primordial : la critique de l’existant ; la participation à la rédaction d’articles orientés : utilisateur (administrateur de MediaSPIP ou simplement producteur de contenu) ; développeur ; la création de screencasts d’explication ; la traduction de la documentation dans une nouvelle langue ;
    Pour ce faire, vous pouvez vous inscrire sur (...)

  • Supporting all media types

    13 avril 2011, par

    Unlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)

Sur d’autres sites (6032)

  • Some videos fail to chromecast with error MEDIA_UNKNOWN

    1er juin 2020, par JonasVautherin

    Using mkchromecast to cast local mp4 files, some videos work, and some don't (as in : the screen hangs on the blue chromecast logo, suggesting that the initial connection worked). I can reproduce exactly the issue described here.

    



    So I decided to go one level lower, with pychromecast, and try to see what actually happens when it hangs on the blue logo. I converted two videos to HLS format, and exposed them through an http server. The video that works with mkchromecast also works with my setup, but the one that fails, well... fails on both. With pychromecast, I don't get much more information than :

    



    


    ERROR, code 100 : MEDIA_UNKNOWN.

    


    



    From the Cast documentation, this error means :

    



    


    The media element encountered an unknown error fired from platform. The media element encountered an error that did not indicate it's one of MediaError.MEDIA_ERR_*. This should be rare.

    


    



    It is not rare for me at all, though. I thought that maybe the failing video was in an unsupported format, as described in the documentation. So I tried to compare both videos with the following command :

    



    ffprobe -v quiet -print_format json -show_streams 


    



    Video that works :

    



    {
    "streams": [
        {
            "index": 0,
            "codec_name": "h264",
            "codec_long_name": "H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10",
            "profile": "High",
            "codec_type": "video",
            "codec_time_base": "1001/48000",
            "codec_tag_string": "avc1",
            "codec_tag": "0x31637661",
            "width": 1920,
            "height": 1080,
            "coded_width": 1920,
            "coded_height": 1088,
            "has_b_frames": 2,
            "sample_aspect_ratio": "1:1",
            "display_aspect_ratio": "16:9",
            "pix_fmt": "yuv420p",
            "level": 50,
            "chroma_location": "left",
            "refs": 1,
            "is_avc": "true",
            "nal_length_size": "4",
            "r_frame_rate": "24000/1001",
            "avg_frame_rate": "24000/1001",
            "time_base": "1/24000",
            "start_pts": 0,
            "start_time": "0.000000",
            "duration_ts": 47127080,
            "duration": "1963.628333",
            "bit_rate": "5527977",
            "bits_per_raw_sample": "8",
            "nb_frames": "47080",
            "disposition": {
                "default": 1,
                "dub": 0,
                "original": 0,
                "comment": 0,
                "lyrics": 0,
                "karaoke": 0,
                "forced": 0,
                "hearing_impaired": 0,
                "visual_impaired": 0,
                "clean_effects": 0,
                "attached_pic": 0,
                "timed_thumbnails": 0
            },
            "tags": {
                "language": "und",
                "handler_name": "VideoHandler"
            }
        },
        {
            "index": 1,
            "codec_name": "aac",
            "codec_long_name": "AAC (Advanced Audio Coding)",
            "profile": "LC",
            "codec_type": "audio",
            "codec_time_base": "1/48000",
            "codec_tag_string": "mp4a",
            "codec_tag": "0x6134706d",
            "sample_fmt": "fltp",
            "sample_rate": "48000",
            "channels": 2,
            "channel_layout": "stereo",
            "bits_per_sample": 0,
            "r_frame_rate": "0/0",
            "avg_frame_rate": "0/0",
            "time_base": "1/48000",
            "start_pts": 0,
            "start_time": "0.000000",
            "duration_ts": 94254528,
            "duration": "1963.636000",
            "bit_rate": "125776",
            "max_bit_rate": "125776",
            "nb_frames": "92048",
            "disposition": {
                "default": 1,
                "dub": 0,
                "original": 0,
                "comment": 0,
                "lyrics": 0,
                "karaoke": 0,
                "forced": 0,
                "hearing_impaired": 0,
                "visual_impaired": 0,
                "clean_effects": 0,
                "attached_pic": 0,
                "timed_thumbnails": 0
            },
            "tags": {
                "language": "und",
                "handler_name": "SoundHandler"
            }
        }
    ]
}


    



    Video that does NOT work :

    



    {                                               
    "streams": [
        {
            "index": 0,
            "codec_name": "h264",
            "codec_long_name": "H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10",
            "profile": "High",
            "codec_type": "video",
            "codec_time_base": "125/5994",
            "codec_tag_string": "avc1",
            "codec_tag": "0x31637661",
            "width": 1920,
            "height": 1040,
            "coded_width": 1920,
            "coded_height": 1040,
            "has_b_frames": 2,
            "sample_aspect_ratio": "1:1",
            "display_aspect_ratio": "24:13",
            "pix_fmt": "yuv420p",
            "level": 41,
            "chroma_location": "left",
            "refs": 1,
            "is_avc": "true",
            "nal_length_size": "4",
            "r_frame_rate": "2997/125",
            "avg_frame_rate": "2997/125",
            "time_base": "1/11988",
            "start_pts": 0,
            "start_time": "0.000000",
            "duration_ts": 97032000,
            "duration": "8094.094094",
            "bit_rate": "2499644",
            "bits_per_raw_sample": "8",
            "nb_frames": "194064",
            "disposition": {
                "default": 1,
                "dub": 0,
                "original": 0,
                "comment": 0,
                "lyrics": 0,
                "karaoke": 0,
                "forced": 0,
                "hearing_impaired": 0,
                "visual_impaired": 0,
                "clean_effects": 0,
                "attached_pic": 0,
                "timed_thumbnails": 0
            },
            "tags": {
                "creation_time": "2020-03-27T09:56:39.000000Z",
                "language": "und",
                "handler_name": "L-SMASH Video Media Handler"
            }
        },
        {
            "index": 1,
            "codec_name": "aac",
            "codec_long_name": "AAC (Advanced Audio Coding)",
            "profile": "LC",
            "codec_type": "audio",
            "codec_time_base": "1/48000",
            "codec_tag_string": "mp4a",
            "codec_tag": "0x6134706d",
            "sample_fmt": "fltp",
            "sample_rate": "48000",
            "channels": 6,
            "channel_layout": "5.1",
            "bits_per_sample": 0,
            "r_frame_rate": "0/0",
            "avg_frame_rate": "0/0",
            "time_base": "1/48000",
            "start_pts": 0,
            "start_time": "0.000000",
            "duration_ts": 388516320,
            "duration": "8094.090000",
            "bit_rate": "224000",
            "max_bit_rate": "224000",
            "nb_frames": "379413",
            "disposition": {
                "default": 1,
                "dub": 0,
                "original": 0,
                "comment": 0,
                "lyrics": 0,
                "karaoke": 0,
                "forced": 0,
                "hearing_impaired": 0,
                "visual_impaired": 0,
                "clean_effects": 0,
                "attached_pic": 0,
                "timed_thumbnails": 0
            },
            "tags": {
                "creation_time": "2020-03-27T09:56:39.000000Z",
                "language": "eng",
                "handler_name": "SoundHandler"
            }
        }
    ]
}


    



    For what I can see, the codecs are the same, and the only difference I can make is in the aspect ratio.

    



    What could be the reason for this "MEDIA_UNKNOWN" error on the chromecast side ? Is there something more I could compare between those two videos ? Could it be that the chromecast fails because of the aspect ratio ?

    


  • Small discord bot with a set of working music commands, about 6 days ago the play function completely stopped functioning (more below)

    24 février 2021, par TheColoradoKid

    It is a small discord python bot for my server with various features, which had included music commands until they stopped out of the blue without showing any error for the problem.
It uses FFMpeg, and youtubeDl along with pytube to gather the song and store it locally to play it, I have pip updated all of these and they are definitely on the current versions as I have made sure of this online.
Any help or insight anyone could provide would be greatly appreciated. I'm sorry if the code is convoluted in the way it's written I'm still pretty new to coding and this is one of my first proper larger projects.

    


    If you need any information I'm happy to give what I can to help.

    


    Here is the code for the play command :

    


    @client.command()
async def play(ctx, *args):
    global queu
    #global autom
    if not args:
        voice = get(client.voice_clients, guild=ctx.guild)
        if not voice.is_playing():
            server = ctx.message.guild
            voice_channel = server.voice_client
            if queu:
                async with ctx.typing():
                    player = await YTDLSource.from_url(queu[0], loop=client.loop)
                    voice_channel.play(player, after=lambda e: print('Player error: %s' % e) if e else None)

                await ctx.send('**Now playing:** {}'.format(player.title))
                del(queu[0])
                # while autom == True:
                #     try:
                #         a = client.get_command('auto')
                #         await ctx.invoke(a)
                #     except:
                #         print('')
            elif not queu:
                await ctx.send("You can't play if there isn't anything in the queue\nIf auto mode was on it has now been disabled, to use it gain please add to the queue and run ``;auto on``")
                autom = False
    if args:
        global gueu
        search_keywords = ""
        print(args)
        for word in args:
            search_keywords += word
            search_keywords += '+'
        link = "https://www.youtube.com/results?search_query="
        link += search_keywords
        #print(link)
        html = urllib.request.urlopen(link)
        video_ids = re.findall(r"watch\?v=(\S{11})", html.read().decode())
        url = ("https://www.youtube.com/watch?v=" + video_ids[0])
        #print(url)
        queu.append(url)
        #print(queu)
        await ctx.send("``{}`` added to queue!\n If the song doesn't start please either let the current song end and run ``;play``/``;next`` again or run ``;next`` to play now".format(url))
        try:
            p = client.get_command('play')
            await ctx.invoke(p)
        except:
            print('failed')


    


  • FFMPEG blending comes out looking grayscale rather than colourful

    17 novembre 2022, par OneWorld

    When i do a blend of two pngs, it comes out looking grayscale whereas it should have colour.

    


    These are the two PNG input assets that I then create MP4s from :-

    


    enter image description here

    


    enter image description here

    


    Here is the command :-

    


    ffmpeg -i black_circle.png -i pikachu.png -filter_complex "[0:v]setsar=sar=1,format=rgb24[rgb1];[1:v]setsar=sar=1,format=rgb24[rgb2];[rgb1]split[out1_1][out1_2];[out1_1]crop=50:50:0:0:exact=1,setsar=1[cropped1];[cropped1][rgb2]blend=screen[blended1];[out1_2][blended1]overlay=0:0" pikachu_screened_on_circle_rgb.png


    


    And here is the output :-

    


    enter image description here

    


    However, Pikachu should retain his Red, Green and Blue, but instead Pikachu looks grayscale.

    


    I was wondering why this is ?

    


    And what i need to do so that Pikachu retains his yellow skin, and rosey cheeks ?

    


    So I thought initially that it might be something to do with the white and black circle being a grayscale asset. But then I replaced the black and white circle with this asset :-

    


    enter image description here

    


    and I saw that when something is black FFMPEG makes it grayscale :-

    


    enter image description here

    


    The command using these two assets instead is this :-

    


    ffmpeg -i rgb_backing.png -i pikachu.png -filter_complex "[0:v]setsar=sar=1,format=rgb24[rgb1];[1:v]setsar=sar=1,format=rgb24[rgb2];[rgb1]split[out1_1][out1_2];[out1_1]crop=50:50:0:0:exact=1,setsar=1[cropped1];[cropped1][rgb2]blend=screen[blended1];[out1_2][blended1]overlay=0:0" pikachu_screened_on_rgb_backing.png


    


    Is there a way to invert black to white in FFMPEG ?