Recherche avancée

Médias (91)

Autres articles (94)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

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

  • ANNEXE : Les plugins utilisés spécifiquement pour la ferme

    5 mars 2010, par

    Le site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)

Sur d’autres sites (8383)

  • Can pyAudioAnalysis be used on a live http audio stream ?

    30 mars 2022, par Tompo

    I am trying to use pyAudioAnalysis to analyse an audio stream in real-time from a HTTP stream. My goal is to use the Zero Crossing Rate (ZCR) and other methods in this library to identify events in the stream.

    


    pyAudioAnalysis only supports input from a file but converting a http stream to a .wav will create a large overhead and temporary file management I would like to avoid.

    


    My method is as follows :

    


    Using ffmpeg I was able to get the raw audio bytes into a subprocess pipe.

    


    try:
    song = subprocess.Popen(["ffmpeg", "-i", "https://media-url/example", "-acodec", "pcm_s16le", "-ac", "1", "-f", "wav", "pipe:1"],
                            stdout=subprocess.PIPE)


    


    I then buffered this data using pyAudio with the hope of being able to use the bytes in pyAudioAnalysis

    


    CHUNK = 65536

p = pyaudio.PyAudio()

stream = p.open(format=pyaudio.paInt16,
                channels=1,
                rate=44100,
                output=True)

data = song.stdout.read(CHUNK)

while len(data) > 0:
    stream.write(data)
    data = song.stdout.read(CHUNK)


    


    However, inputting this data output into AudioBasicIO.read_audio_generic() produces an empty numpy array.

    


    Is there a valid solution to this problem without temporary file creation ?

    


  • Error opening input files : Invalid data found when processing input

    27 mars 2024, par Master's Time

    I am creating disnake music bot. The error is :

    


    [in#0 @ 00000233f8d71500] Error opening input: Invalid data found when processing input
Error opening input file https://www.youtube.com/watch?v=duDUqBtxwXk.
Error opening input files: Invalid data found when processing input


    


    Here is part of my code :

    


    import disnake
import asyncio
from yt_dlp import YoutubeDL
import ffmpeg


YTDL_OPTIONS = {'format': 'bestaudio', 'noplaylist': 'False', 'simulate':'True', 'key':"FFmpegExtractAudio"}
FFMPEG_OPTIONS = {'before_options': '-reconnect 1 -reconnect_streamed 1 -reconnect_delay_max 5', 'options': '-vn'}


async def play_music(inter):
        global YDTL_OPTIONS, FFMPEG_OPTIONS
    print(tm.now().strftime("%H:%M:%S"),"play_music begin")
    id = int(inter.guild.id)
    with YoutubeDL(YTDL_OPTIONS) as ydl:
        info = ydl.extract_info(url, download=False)

    song = {
            'link': 'https://www.youtube.com/watch?v=' + url,
            'thumbnail': 'https://i.ytimg.com/vi/' + url + '/hqdefault.jpg?sqp=-oaymwEcCOADEI4CSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLD5uL4xKN-IUfez6KIW_j5y70mlig',
            'source': info['formats'][0]['url'],
            'title': info['title']
        }   self.vc[id].play(disnake.FFmpegPCMAudio(executable=r"C:\\ffmpeg\\ffmpeg\\bin\\ffmpeg.exe",source=song["source"], **FFMPEG_OPTIONS))
    print(tm.now().strftime("%H:%M:%S"),"play_music end")


    


    I tried to write source = song['source'] instead of source = song['link'], but it didn't seem helpful.

    


  • Issues with MediaSourceExtension

    4 janvier 2023, par engine32

    I want to livestream audio only using MSE. I would like to send data/files via websockets, therefore no HLS nor DASH.

    


    But until I implement websockets, I thought to give it a try by statically loading the song in an array.

    


    Here is my code so far :

    


    <audio controls="controls"></audio>&#xA;..&#xA;<code class="echappe-js">&lt;script&gt;&amp;#xA;  const ms = new MediaSource();&amp;#xA;  var ae = document.getElementById(&quot;ap&quot;);&amp;#xA;  ae.src = URL.createObjectURL(ms);&amp;#xA;  ms.addEventListener(&amp;#x27;sourceopen&amp;#x27;, msOpen);&amp;#xA;  &amp;#xA;function msOpen(e) {&amp;#xA;  URL.revokeObjectURL(ae.src);&amp;#xA;  var mse = e.target;&amp;#xA;  const sourceBuffer = mse.addSourceBuffer(&amp;#x27;audio/mp4&amp;#x27;);&amp;#xA;  var u8A0 = new Uint8Array([0x00, 0x00, 0x00, 0x1C, 0x66, ...]);&amp;#xA;  sourceBuffer.appendBuffer(u8A0.buffer);&amp;#xA;  &amp;#xA;  sourceBuffer.addEventListener(&amp;#x27;updateend&amp;#x27;, function() {&amp;#xA;    if (!sourceBuffer.updating &amp;amp;&amp;amp; mse.readyState === &amp;#x27;open&amp;#x27;) {&amp;#xA;      mse.endOfStream();&amp;#xA;      console.log(&amp;#x27;Audio is ready to play!&amp;#x27;);&amp;#xA;    }&amp;#xA;  });&amp;#xA;}  &amp;#xA;&lt;/script&gt;&#xA;&#xA;

    &#xA;

    The result is that there are no errors in the debug window and the audio element correctly shows the duration of the song, about two min and half. However, once I click Play, the duration shows 0 (zero) and the song is not played. If I try to pause and play again, the debug window says :

    &#xA;

    *"Uncaught (in promise) DOMException : The fetching process for the media resource was aborted by the user agent at the user's request".&#xA;*&#xA;This is the ffmpeg command I used to prepare the file :

    &#xA;

    ffmpeg -i m.wav -c:a aac -b:a 32k -f mp4 output.mp4

    &#xA;

    Any help would be well appreciated.&#xA;Thank you.

    &#xA;