Recherche avancée

Médias (1)

Mot : - Tags -/musée

Autres articles (47)

  • Ajouter des informations spécifiques aux utilisateurs et autres modifications de comportement liées aux auteurs

    12 avril 2011, par

    La manière la plus simple d’ajouter des informations aux auteurs est d’installer le plugin Inscription3. Il permet également de modifier certains comportements liés aux utilisateurs (référez-vous à sa documentation pour plus d’informations).
    Il est également possible d’ajouter des champs aux auteurs en installant les plugins champs extras 2 et Interface pour champs extras.

  • Use, discuss, criticize

    13 avril 2011, par

    Talk to people directly involved in MediaSPIP’s development, or to people around you who could use MediaSPIP to share, enhance or develop their creative projects.
    The bigger the community, the more MediaSPIP’s potential will be explored and the faster the software will evolve.
    A discussion list is available for all exchanges between users.

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

Sur d’autres sites (7091)

  • FFMPEG(?) Error : [out#0/s16le @ 000002452f906a00] Output file does not contain any stream

    11 mars 2024, par Ondosh
    FFMPEG_OPTIONS = {
    'before_options': '-reconnect 1 -reconnect_streamed 1 -reconnect_delay_max 5',
    'options': '-vn'}
YDL_OPTIONS = {
    'format': 'bestaudio/best',
    'extractaudio': True,
    'noplaylist': True,
    'simulate': 'True',
    'preferredquality': '192',
    'preferredcodec': 'mp3',
    'key': 'FFmpegExtractAudio'}
@bot.command(aliases=['Ping', 'PING', 'Пинг', 'ПИНГ', 'зштп', 'ЗШТП', 'Зштп',
                      'пинг'])
async def ping(ctx):
    await ctx.message.reply(f'Ping: {round(bot.latency * 1000)}ms')
#########################[PLAY MUSIC BLOCK]#########################
@bot.command()
async def add(ctx, *url):
    url = ' '.join(url)
    with yt_dlp.YoutubeDL(YDL_OPTIONS) as ydl:
        try:
            info = ydl.extract_info(url, download=False)
        except:
            info = ydl.extract_info(f"ytsearch:{url}",
                                    download=False)['entries'][0]

    URL = info['formats'][0]['url']
    name = info['title']
    time = str(datetime.timedelta(seconds=info['duration']))
    songs_queue.q_add([name, time, URL])
    embed = nextcord.Embed(description=f'Записываю [{name}]({url}) в очередь 📝',
                           colour=nextcord.Colour.red())
    await ctx.message.reply(embed=embed)
def step_and_remove(voice_client):
    if loop_flag:
        songs_queue.q_add(songs_queue.get_value()[0])
    songs_queue.q_remove()
    audio_player_task(voice_client)
def audio_player_task(voice_client):
    if not voice_client.is_playing() and songs_queue.get_value():
        voice_client.play(nextcord.FFmpegPCMAudio(
            executable="ffmpeg\\bin\\ffmpeg.exe",
            source=songs_queue.get_value()[0][2],
            **FFMPEG_OPTIONS),
            after=lambda e: step_and_remove(voice_client))
@bot.command(aliases=['Play', 'PLAY', 'играй', 'ИГРАЙ', 'Играй', 'сыграй',
                      'Сыграй', 'СЫГРАЙ', 'здфн', 'Здфн', 'ЗДФН', 'p', 'P',
                      'pl', 'PL', 'Pl', 'Плей',
                      'ПЛЕЙ', 'плей'])
async def play(ctx, *url):
    await join(ctx)
    await add(ctx, ' '.join(url))
    await ctx.message.add_reaction(emoji='🎸')
    voice_client = ctx.guild.voice_client
    audio_player_task(voice_client)
@bot.command(aliases=['Queue', 'QUEUE', 'йгугу', 'Йгугу', 'ЙГУГУ', 'очередь',
                      'Очередь', 'ОЧЕРЕДЬ', 'список', 'Список', 'СПИСОК',
                      'list', 'List', 'LIST', 'дшые', 'Дшые', 'ДШЫЕ', 'Лист',
                      'лист', 'ЛИСТ', 'песни', 'Песни', 'ПЕСНИ', 'songs',
                      'Songs', 'SONGS', 'ыщтпы', 'ЫЩТПЫ', 'Ыщтпы', 'q'])
async def queue(ctx):
    if len(songs_queue.get_value()) > 0:
        only_names_and_time_queue = []
        for i in songs_queue.get_value():
            name = i[0]
            if len(i[0]) > 30:
                name = i[0][:30] + '...'
            only_names_and_time_queue.append(f'📀 `{name:<33}   {i[1]:>20}`\n')
        c = 0
        queue_of_queues = []
        while c < len(only_names_and_time_queue):
            queue_of_queues.append(only_names_and_time_queue[c:c + 10])
            c += 10

        embed = nextcord.Embed(title=f'ОЧЕРЕДЬ [LOOP: {loop_flag}]',
                               description=''.join(queue_of_queues[0]),
                               colour=nextcord.Colour.red())
        await ctx.send(embed=embed)

        for i in range(1, len(queue_of_queues)):
            embed = nextcord.Embed(description=''.join(queue_of_queues[i]),
                                   colour=nextcord.Colour.red())
            await ctx.send(embed=embed)
    else:
        await ctx.send('Очередь пуста')


    


    There is the part of my music bot in Discord, I don't really know why it doesn't work. Actually, I tried to use someone's old code, so it needs to be fixed. I have cut out the most important parts of the code, which most likely had an error.
I found other questions, but there was another errors.
After trying to start the video, I get the following errors :
[out#0/s16le @ 000002452f906a00] Output file does not contain any stream
Error opening output file pipe:1.
Error opening output files : Invalid argument

    


  • dashjs can't find initialization segment on manifest.mpd

    30 avril 2016, par Abelardo Mendoza

    I am following this tutorial to stream a WebM. I have no issues running the ffmpeg commands to generate the videos/audio/manifest files but when I try to run it locally, there’s no video or audio at all and dashjs floods the console with :

    Searching for initialization.    
    Start searching for initialization.    
    Perform init search: http://localhost:8080/video_1280x720_500k.webm    
    Perform SIDX load: http://localhost:8080/video_640x360_750k.webm    
    Perform SIDX load: http://localhost:8080/video_1280x720_500k.webm

    Writing that to console until I stop the server. I have tried using other mpd files such as this, which is used on the dashjs quickstart and it plays the video without any problems.

    I used this guide to install the latest version of ffmpeg on Ubuntu 14.04 LTS :

    ffmpeg version N-79688-g3cb3ddd Copyright (c) 2000-2016 the FFmpeg developers
    built with gcc 5.3.0 (Ubuntu 5.3.0-3ubuntu1~14.04) 20151204
    configuration: --prefix=/home/ab/cpp/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/ab/cpp/ffmpeg_build/include --extra-ldflags=-L/home/ab/cpp/ffmpeg/lib --bindir=/home/ab/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree
    libavutil      55. 23.100 / 55. 23.100
    libavcodec     57. 38.100 / 57. 38.100
    libavformat    57. 34.103 / 57. 34.103
    libavdevice    57.  0.101 / 57.  0.101
    libavfilter     6. 44.100 /  6. 44.100
    libswscale      4.  1.100 /  4.  1.100
    libswresample   2.  0.101 /  2.  0.101
    libpostproc    54.  0.100 / 54.  0.100

    When running on ffmpeg :

    ffmpeg \
    -f webm_dash_manifest -i video_160x90_250k.webm \
    -f webm_dash_manifest -i video_320x180_500k.webm \
    -f webm_dash_manifest -i video_640x360_750k.webm \
    -f webm_dash_manifest -i video_640x360_1000k.webm \
    -f webm_dash_manifest -i video_1280x720_500k.webm \
    -f webm_dash_manifest -i audio_128k.webm \
    -c copy -map 0 -map 1 -map 2 -map 3 -map 4 -map 5 \
    -f webm_dash_manifest \
    -adaptation_sets "id=0,streams=0,1,2,3,4 id=1,streams=5" \
    manifest.mpd

    It generates the following manifest.mpd :

    <?xml version="1.0" encoding="UTF-8"?>
    <mpd xmlns="urn:mpeg:DASH:schema:MPD:2011" type="static" mediapresentationduration="PT117.726S" minbuffertime="PT1S" profiles="urn:webm:dash:profile:webm-on-demand:2012">
     <period start="PT0S" duration="PT117.726S">
       <adaptationset mimetype="video/webm" codecs="vp9" lang="eng" bitstreamswitching="true" subsegmentalignment="true" subsegmentstartswithsap="1">
         <representation bandwidth="198155" width="160" height="90">
           <baseurl>video_160x90_250k.webm</baseurl>
           <segmentbase indexrange="2007834-2008211">
             <initialization range="0-437"></initialization>
           </segmentbase>
         </representation>
         <representation bandwidth="459264" width="320" height="180">
           <baseurl>video_320x180_500k.webm</baseurl>
           <segmentbase indexrange="4459996-4460374">
             <initialization range="0-439"></initialization>
           </segmentbase>
         </representation>
         <representation bandwidth="718495" width="640" height="360">
           <baseurl>video_640x360_750k.webm</baseurl>
           <segmentbase indexrange="6614036-6614414">
             <initialization range="0-441"></initialization>
           </segmentbase>
         </representation>
         <representation bandwidth="931445" width="640" height="360">
           <baseurl>video_640x360_1000k.webm</baseurl>
           <segmentbase indexrange="8309082-8309460">
             <initialization range="0-441"></initialization>
           </segmentbase>
         </representation>
         <representation bandwidth="821274" width="1280" height="720">
           <baseurl>video_1280x720_500k.webm</baseurl>
           <segmentbase indexrange="8728812-8729190">
             <initialization range="0-441"></initialization>
           </segmentbase>
         </representation>
       </adaptationset>
       <adaptationset mimetype="audio/webm" codecs="vorbis" lang="eng" audiosamplingrate="44100" bitstreamswitching="true" subsegmentalignment="true" subsegmentstartswithsap="1">
         <representation bandwidth="107104">
           <baseurl>audio_128k.webm</baseurl>
           <segmentbase indexrange="1538710-1539184">
             <initialization range="0-4112"></initialization>
           </segmentbase>
         </representation>
       </adaptationset>
     </period>
    </mpd>

    The index.html has a few changes because dash.js changed the way the player gets initialized.

       
           
           
           <code class="echappe-js">&lt;script src=&quot;http://cdn.dashjs.org/latest/dash.all.debug.js&quot;&gt;&lt;/script&gt;

    And here is Chromium’s log file. I’m converting this webm from this site.

    If I missed out any other relevant information or if anyone can guide me into the right direction, please let me know.

    Edit :

    Like Will Law mentioned, using the Shaka Player worked without any issues with my current manifest. Hope this helps anyone else.

  • what is the proper way for text in multi-pass encoding using ffmpeg

    4 juin 2016, par Camelius Chukwubuikem Ubah

    cpulimit -l 180 ffmpeg-static/ffmpeg -ss 0 -t 8.96 -i ’/var/www/html/Videos2/Character Jack/Happy/happy birthday scene.mp4’ -filter_complex ’[0] drawtext=textfile=scene2.txt:fontsize=199.68:fontfile=/var/www/html/fonts/Arial.ttf:x=288:y=409:fontcolor_expr=ffffff%eif~: clip(1+(255*t/4)\, 0\, 255)\:x\:2’ -pass 1 -f h264 -y - > /dev/null &&

    cpulimit -l 180 ffmpeg-static/ffmpeg -ss 0 -t 8.96 -i ’/var/www/html/Videos2/Character Jack/Happy/happy birthday scene.mp4’ -i ’/var/www/html/Userfiles/Users/blaze/Projects/earl3x/audio/scene2_music.x.mp3’ -filter_complex ’[1] volume=0.95 [au1] ; [0][au1] amix=inputs=2:duration=shortest’ -c:v copy -c:a libmp3lame -pix_fmt yuv420p -preset ultrafast -shortest -movflags faststart -y -pass 2 /var/www/html/Userfiles/Users/blaze/example/earl4x/scene2.mp4

    What i’m trying to achieve ?
    encoding text elements / graphics on the first pass
    and encoding Sound (audio) on the second pass

    the first pass and second pass runs fine ( with no errors at all)
    and the output has no artifact.

    however the text is totally no where to be found !
    what it seems like is that , the second pass had no idea there was a first pass with text encoded in it.

    what will be the right way to run / format the command ?

    thanks