
Recherche avancée
Médias (1)
-
La conservation du net art au musée. Les stratégies à l’œuvre
26 mai 2011
Mis à jour : Juillet 2013
Langue : français
Type : Texte
Autres articles (47)
-
Ajouter des informations spécifiques aux utilisateurs et autres modifications de comportement liées aux auteurs
12 avril 2011, parLa 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, parTalk 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, parMediaSPIP 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 OndoshFFMPEG_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 MendozaI 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.webmWriting 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.100When 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.mpdIt 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"><script src="http://cdn.dashjs.org/latest/dash.all.debug.js"></script>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 Ubahcpulimit -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 passthe 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