Recherche avancée

Médias (1)

Mot : - Tags -/wave

Autres articles (56)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

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

  • youtube_dl, ffmpeg, discord.py is not playing songs even w/o streaming

    27 août 2021, par BlueFire02

    I have tried many times to make a basic queue system, I tested the play command to see if it worked back then and it did, unfortunately during this construction I have been having a lot of problems just playing the song. I did try to implement a queueing system but all that comes out is this specific error :

    


    [tls @ 0x7f8244705240] IO Error: -9806 [https @ 0x7f824480b000] Will reconnect at 835584 in 0 second(s), error=Input/output error.


    


    Additional Info : I also installed ffmpeg onto my mac, I only put the 1 file called ffmpeg in my path if that helps but I am pretty sure it has to do something with youtube_dl.

    


    Code : (Make sure to put your guild_id in the guild_id spot, another thing is when you invite the bot make sure in the 2auth section click 'bot' and 'application.commands')

    


    import discord
from discord.ext import commands
import youtube_dl
from discord_slash import cog_ext, SlashContext
from youtube_search import YoutubeSearch
import asyncio
import os


guild_ids = [GUILD ID GOES HERE]
queue = []
global is_playing
is_playing = False
time_video = 0 

class music(commands.Cog):
  def __init__(self, client):
    self.client = client
  
  @cog_ext.cog_slash(name="ping", guild_ids=guild_ids)
  async def ping(self, ctx):
    await ctx.send(content="Pong!")
  
  @cog_ext.cog_slash(name="join", guild_ids=guild_ids)
  async def join(self, ctx):
    if ctx.author.voice is None:
      return await ctx.send ("You are not in a voice channel!")
    voice_channel = ctx.author.voice.channel
    await voice_channel.connect()
    await ctx.guild.change_voice_state(channel=ctx.author.voice.channel, self_mute=True, self_deaf=True)
    await ctx.send("I joined the party :tada:")
  
  @cog_ext.cog_slash(name="disconnect", guild_ids=guild_ids)
  async def disconnect(self, ctx):
    await ctx.voice_client.disconnect()
  
  @cog_ext.cog_slash(name="play", guild_ids=guild_ids)
  async def play(self, ctx, input):
    if 'https://www.youtube.com/watch?' in input or 'https://youtu.be/' in input:
      YTDL_OPTIONS = {'format':"bestaudio"}
      with youtube_dl.YoutubeDL(YTDL_OPTIONS) as ydl:
        info_dict = ydl.extract_info(input, download=False)
        video_title = info_dict.get('title', None)

        results = YoutubeSearch(video_title, max_results=1).to_json()
        print(results)
        url_suffix_int = results.find('url_suffix') + 14


        results2 = "".join(['https://www.youtube.com', str(results[url_suffix_int:-3])])

        title_int = results.find('title') + 9
        title_int2 = results.find('long_desc') - 4
        title_string = str(results[title_int:title_int2])

        thumbnail_int = results.find('thumbnail') + 15
        title_split = results.find('title') - 5
        splitboth = str(results[thumbnail_int:title_split])
        final_result = splitboth.split('", "', 1)[0]

        channel_int = results.find('channel') + 11
        channel_int2 = results.find('duration') - 4
        channel_string = str(results[channel_int:channel_int2])

        duration_int = results.find('duration') + 12
        duration_int2 = results.find('views') - 4
        duration_string = str(results[duration_int:duration_int2])

        views_int = results.find('views') + 9
        views_int2 = results.find('publish_time') - 4
        views_string = str(results[views_int:views_int2])

        embed = discord.Embed(title=title_string, colour=discord.Colour(0x1), url=results2)

        embed.set_thumbnail(url=final_result)
        embed.set_author(name="Added to queue", icon_url=self.client.user.avatar_url)

        embed.add_field(name="Channel", value=channel_string, inline=True)
        embed.add_field(name="Song Duration", value=duration_string, inline=True)
        embed.add_field(name="Views", value=views_string, inline=True)

        await ctx.send(embed=embed)

        queue.append(input)
        await start_queue(self, ctx)

    else:
      results = YoutubeSearch(input, max_results=1).to_json()
      print(results)
      url_suffix_int = results.find('url_suffix') + 14


      results2 = "".join(['https://www.youtube.com', str(results[url_suffix_int:-3])])

      title_int = results.find('title') + 9
      title_int2 = results.find('long_desc') - 4
      title_string = str(results[title_int:title_int2])

      thumbnail_int = results.find('thumbnail') + 15
      title_split = results.find('title') - 5
      splitboth = str(results[thumbnail_int:title_split])
      final_result = splitboth.split('", "', 1)[0]

      channel_int = results.find('channel') + 11
      channel_int2 = results.find('duration') - 4
      channel_string = str(results[channel_int:channel_int2])

      duration_int = results.find('duration') + 12
      duration_int2 = results.find('views') - 4
      duration_string = str(results[duration_int:duration_int2])

      views_int = results.find('views') + 9
      views_int2 = results.find('publish_time') - 4
      views_string = str(results[views_int:views_int2])

      embed = discord.Embed(title=title_string, colour=discord.Colour(0x1), url=results2)

      embed.set_thumbnail(url=final_result)
      embed.set_author(name="Added to queue", icon_url=self.client.user.avatar_url)

      embed.add_field(name="Channel", value=channel_string, inline=True)
      embed.add_field(name="Song Duration", value=duration_string, inline=True)
      embed.add_field(name="Views", value=views_string, inline=True)

      await ctx.send(embed=embed)

      queue.append(results2)
      await start_queue(self, ctx)
    

  @cog_ext.cog_slash(name="pause", guild_ids=guild_ids)
  async def pause(self, ctx):
    ctx.voice_client.pause()
  
  
  @cog_ext.cog_slash(name="resume", guild_ids=guild_ids)
  async def resume(self, ctx):
    ctx.voice_client.resume()

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

async def start_queue(self, ctx):
    print(is_playing)
    if len(queue) <= 0:
      await ctx.voice_client.disconnect()
    while(len(queue) > 0):
      if(is_playing == False):
        await start(self, ctx, queue[0])

    

async def start(self, ctx, link_yt):
      global is_playing
      is_playing = True
      FFMPEG_OPTIONS = {'before_options': '-reconnect 1 -reconnect_streamed 1 -reconnect_delay_max 5', 'options': '-vn'}
      YTDL_OPTIONS = {'format':"bestaudio"}
      vc = ctx.voice_client
      with youtube_dl.YoutubeDL(YTDL_OPTIONS) as ydl:
        info = ydl.extract_info(link_yt, download=False)
        url2 = info['formats'][0]['url']
        source = await discord.FFmpegOpusAudio.from_probe(url2, **FFMPEG_OPTIONS)
        vc.play(source)
        await asyncio.sleep(info['duration'] + 1)
        print("Done")
        del queue[0]
        is_playing = False


    


    Final Note : I did try to download and play the song but in the end it gave me the following error :

    


    Options reconnect not found.


    


  • FFMPEG command works in shell ! but not in my node.js

    29 juillet 2021, par Kuno Kim

    When my ffmpeg command is built by my node.js application it does not run.

    



    error

    



    Unrecognized option 'ss 3.2 -t 1.9 -i videoplayback.mp4 -vf  fps=15,scale=240:-1:flags=lanczos,palettegen palette.png'.


    



    command

    



    ffmpeg -ss 3.2 -t 1.9 -i videoplayback.mp4 -vf \ fps=15,scale=240:-1:flags=lanczos,palettegen palette.png


    



    this is my code

    



    var child_process = require('child_process')

function recordVideo() {

var spawn = child_process.spawn;

var args = [
    '-y', 
    '-ss', '3.2',
    '-t', '1.9', 
    '-i', '../getback/bin/videos/videoplayback.mp4', 
    '-vf', ' \\ ', 
    'fps=', '15', 
    'scale=', '320:-1', 
    'flags=','lanczos,palettegen palette.png', 
];



var ffmpeg = spawn('ffmpeg', args);

ffmpeg.stdout.on('data', function (data) {
    console.log(data);
});

ffmpeg.stderr.on('data', function (data) {
    console.log('grep stderr: ' + data);
});

ffmpeg.on('close', (code) => {
    console.log('child process exited with code ' + code);
}); 
};
recordVideo();


    



    what is this error ?
I think.. 'fps=', '15', In the following code 
 '=' options a problem.

    



    I am still learning English.
I'm sorry if it was hard to understand.

    


  • cbs_h265 : read/write HEVC PREFIX SEI

    10 mai 2018, par Haihao Xiang
    cbs_h265 : read/write HEVC PREFIX SEI
    

    Similar to H264, cbs_h265_read, write_nal_unit() can handle HEVC
    prefix SEI NAL units. Currently mastering display colour volume SEI
    message is added only, we may add more SEI message if needed later

    Signed-off-by : Haihao Xiang <haihao.xiang@intel.com>

    • [DH] libavcodec/cbs_h2645.c
    • [DH] libavcodec/cbs_h265.h
    • [DH] libavcodec/cbs_h265_syntax_template.c