
Recherche avancée
Médias (2)
-
Granite de l’Aber Ildut
9 septembre 2011, par
Mis à jour : Septembre 2011
Langue : français
Type : Texte
-
Géodiversité
9 septembre 2011, par ,
Mis à jour : Août 2018
Langue : français
Type : Texte
Autres articles (59)
-
Support audio et vidéo HTML5
10 avril 2011MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...) -
HTML5 audio and video support
13 avril 2011, parMediaSPIP 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 (...) -
De l’upload à la vidéo finale [version standalone]
31 janvier 2010, parLe chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
Upload et récupération d’informations de la vidéo source
Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...)
Sur d’autres sites (7166)
-
why ffmpeg process successfully terminated with return code of 1 without play anything
24 juillet 2023, par Exc`I tried replacing youtube_dl with yt_dlp and replaced some of the code, the code worked fine but when using the command, the bot doesn't play music but immediately ffmpeg process 15076 successfully terminated with return code of 1


Is there a problem with my code or the ffmpg option or ytdlp option that doesn't support the yt_dlp library ?`


self.YTDL_OPTIONS = {
 'format': 'bestaudio/best',
 'outtmpl': 'F:/DISCORD BOT/Ex/music/%(extractor)s-%(id)s-%(title)s.%(ext)s',
 'restrictfilenames': True,
 'retry_max': 'auto',
 'noplaylist': True,
 'nocheckcertificate': True,
 'ignoreerrors': True,
 'logtostderr': False,
 'quiet': True,
 'no_warnings': True,
 'default_search': 'auto',
 'source_address': '0.0.0.0',
 'postprocessors': [{
 'key': 'FFmpegExtractAudio',
 'preferredcodec': 'mp3',
 'preferredquality': '192',
 }],
 'youtube_api_key': 'api'
 }
self.FFMPEG_OPTIONS = {
 'before_options': '-reconnect 1 -reconnect_streamed 1 -reconnect_delay_max 5',
 'options': '-vn',
 'executable':r'F:\DISCORD BOT\Ex\ffmpeg\bin\ffmpeg.exe'
 }

 
 @commands.hybrid_command(
 name="play",
 aliases=["p"],
 usage="",
 description="KARAUKENAN.",
 
 )
 @app_commands.describe(
 judul_lagu="link ato judul lagunya"
 )
 async def play(self, ctx, judul_lagu:str):
 await ctx.defer()
 voice_channel = ctx.author.voice
 if not voice_channel or not voice_channel.channel:
 await ctx.send("Join voice channel dulu gblk!")
 return

 voice_channel = voice_channel.channel
 song = self.search_song(judul_lagu)
 if not song:
 await ctx.send("Lagnya tdk ditemukan, coba keword lain.")
 return

 if not self.bot.voice_clients:
 voice_client = await voice_channel.connect()
 else:
 voice_client = self.bot.voice_clients[0]
 if voice_client.channel != voice_channel:
 await voice_client.move_to(voice_channel)

 self.music_queue.append([song, voice_client])
 if not self.is_playing:
 await self.play_music(ctx)
 
 async def play_music(self, ctx):
 self.is_playing = True
 while len(self.music_queue) > 0:
 song = self.music_queue[0][0]
 voice_client = self.music_queue[0][1]
 await ctx.send(f"Playing {song['title']}")

 voice_client.play(discord.FFmpegPCMAudio(song['source'], **self.FFMPEG_OPTIONS), after=lambda e: self.play_next())
 voice_client.is_playing()

 while voice_client.is_playing():
 await asyncio.sleep(1)

 self.music_queue.pop(0)
 self.is_playing = False

 await ctx.send("Queue is empty.")
 voice_client.stop()

 def play_next(self):
 if len(self.music_queue) > 0:
 self.is_playing = False

 def search_song(self, judul_lagu):
 ydl = yt_dlp.YoutubeDL(self.YTDL_OPTIONS)
 with ydl:
 try:
 info = ydl.extract_info(f"ytsearch:{judul_lagu}", download=False)['entries'][0]
 return {'source': info['formats'][0]['url'], 'title': info['title']}
 except Exception:
 return None





when i use /play the bot sucess serch song but immediately terminate does not play any music


2023-04-10 13:06:45 INFO discord.voice_client Connecting to voice...
2023-04-10 13:06:45 INFO discord.voice_client Starting voice handshake... (connection attempt 1)
2023-04-10 13:06:46 INFO discord.voice_client Voice handshake complete. Endpoint found singapore11075.discord.media
2023-04-10 13:06:50 INFO discord.player ffmpeg process 15076 successfully terminated with return code of 1.





-
FFmpeg library is detecting pixel format of VP9 video stream not correctly
6 avril 2023, par PikachuI am using a C code to detect pixel format of VP9 video stream in a WebM container. FFmpeg version 6.0, full shared library build, downloaded from official website. Operating system is Windows 10. I feed the library with a VP9 video encoded with alpha channel, pixel format is YUVA420p. It detects pixel format as YUV420p.


I have found a similar question on StackOverflow.com, Is there a way to force FFMPEG to decode a video stream with alpha from a WebM video encoded with libvpx-vp9 ?, but it does not actually help.


When I override the decoder with a
libvpx
, it continues to detect the pixel format as YUV420p instead of YUVA420p.

C code is following. Note that error handling in code is omitted here for StackOverflow question to be shorter.


AVFormatContext *fmt_ctx = NULL;
int err = avformat_open_input(&fmt_ctx, infp, NULL, NULL);
err = avformat_find_stream_info(fmt_ctx, NULL);
int stream = av_find_best_stream(fmt_ctx, AVMEDIA_TYPE_VIDEO, -1, -1, NULL, 0);
AVCodecParameters *codecpar = fmt_ctx->streams[stream]->codecpar;

const AVCodec *codec = NULL;
if (codecpar->codec_id == AV_CODEC_ID_VP9) {
 codec = avcodec_find_decoder_by_name(CODEC_LIBVPX_VP9);
} else {
 codec = avcodec_find_decoder(codecpar->codec_id);
}

AVCodecContext *ctx = avcodec_alloc_context3(codec);
err = avcodec_parameters_to_context(ctx, codecpar);
av_log(NULL, AV_LOG_DEBUG, "Pixel format: %d.\n", ctx->pix_fmt); //TODO:DEBUG.
err = avcodec_open2(ctx, codec, NULL);



The program tells
Pixel format: 0.
, which meansAV_PIX_FMT_YUV420P
, not theAV_PIX_FMT_YUVA420P
!

If I override pixel format manually, I am able to decode video with alpha channel and to see the transparent background, but it breaks the logics, because when a real YUV420p pixel format comes in and gets overridden by YUVA420p, this will be a problem.


if (codecpar->codec_id == AV_CODEC_ID_VP9) {
 if (strcmp(codec->name, CODEC_LIBVPX_VP9) == 0) {
 if (ctx->pix_fmt == AV_PIX_FMT_YUV420P) {
 ctx->pix_fmt = AV_PIX_FMT_YUVA420P;
 }
 }
}



At the same time ffmpeg tool started from command line with libvpx decoder tells that my video has
YUVA420p
pixel format. Output is following.

D:\Temp\4>ffmpeg -c:v libvpx-vp9 -i yuva.webm
ffmpeg version 6.0-full_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers
 built with gcc 12.2.0 (Rev10, Built by MSYS2 project)
 configuration: --enable-gpl --enable-version3 --enable-shared --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libvpl --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
 libavutil 58. 2.100 / 58. 2.100
 libavcodec 60. 3.100 / 60. 3.100
 libavformat 60. 3.100 / 60. 3.100
 libavdevice 60. 1.100 / 60. 1.100
 libavfilter 9. 3.100 / 9. 3.100
 libswscale 7. 1.100 / 7. 1.100
 libswresample 4. 10.100 / 4. 10.100
 libpostproc 57. 1.100 / 57. 1.100
[libvpx-vp9 @ 000001ecdf6002c0] v1.13.0-71-g45dc0d34d
 Last message repeated 1 times
Input #0, matroska,webm, from 'yuva.webm':
 Metadata:
 ENCODER : Lavf60.3.100
 Duration: 00:00:05.55, start: 0.000000, bitrate: 227 kb/s
 Stream #0:0: Video: vp9 (Profile 0), yuva420p(tv, progressive), 1920x1080, SAR 1:1 DAR 16:9, 60 fps, 60 tbr, 1k tbn
 Metadata:
 alpha_mode : 1
 ENCODER : Lavc60.3.100 libvpx-vp9
 DURATION : 00:00:05.550000000
At least one output file must be specified



Here is my YUVA420p in the first video stream at the end of the console output :


Stream #0:0: Video: vp9 (Profile 0), yuva420p(tv, progressive), 1920x1080, SAR 1:1 DAR 16:9, 60 fps, 60 tbr, 1k tbn





The questions are following.


- 

- How to detect real pixel format of VP9 video with FFmpeg library in C code reliably ?
- Why is the C code not detecting the actual pixel format even with codec overriden to libvpx ?






Thank you.


-
FFmpeg Drawtext - Fontconfig error : Cannot load default config file : No such file : (null)
29 mars 2023, par JamesI get the message : Fontconfig error : Cannot load default config file : No such file : (null).
No output is created.


I have installed FFmpeg full version and written this test script to add text onto an image which I drag and drop onto the BAT file.


I searched this database for solutions and found none. The script should produce an output file
test.png
, The image should have red text on it which readsHello
.

I tried to escape the path to the Font both ways without success :


`set "FONT='c\:\\windows\\fonts\\arial.ttf'" :: Font



`


.. and


`set "FONT='c\:\/windows\/fonts\/arial.ttf'" :: Font`



My full script :


`set "FONT='c\:\/windows\/fonts\/arial.ttf'" :: Font
set "TEXT=Hello" :: Text (no space characters allowed, see next example)
set "COLOR=red" :: Text color
set "SIZE=20" :: Font size
set "POS_X=(w-tw)/2" :: X position of text, use (w-tw)/2 for centering
set "POS_Y=(h-th)/2" :: Y position of text, use (h-th)/2 for centering


ffmpeg -i %1 -vf drawtext='fontfile=%FONT%:text=%TEXT%:fontcolor=%COLOR%:fontsize=%SIZE%:x=%POS_X%:y=%POS_Y%' - frames 1 -y test.png


pause`



The complete result :


"FONT='c :/windows/fonts/arial.ttf'" : : Font

C:\Users\canjm\Desktop\Image Correction 360\Archive Testing\Utilities\Align Photo>set "TEXT=Hello" :: Text (no space characters allowed, see next example)

C:\Users\canjm\Desktop\Image Correction 360\Archive Testing\Utilities\Align Photo>set "COLOR=red" :: Text color
C:\Users\canjm\Desktop\Image Correction 360\Archive Testing\Utilities\Align Photo>set "SIZE=20" :: Font size
C:\Users\canjm\Desktop\Image Correction 360\Archive Testing\Utilities\Align Photo>set "POS_X=(w-tw)/2" :: X position of text, use (w-tw)/2 for centering

C:\Users\canjm\Desktop\Image Correction 360\Archive Testing\Utilities\Align Photo>set "POS_Y=(h-th)/2" :: Y position of text, use (h-th)/2 for centering

C:\Users\canjm\Desktop\Image Correction 360\Archive Testing\Utilities\Align Photo>ffmpeg -i "C:\Users\canjm\Desktop\Image Correction 360\Archive Testing\Utilities\Align Photo\Eqr_360_9999.JPG" -vf drawtext='fontfile='c\:\/windows\/fonts\/arial.ttf':text=Hello:fontcolor=red:fontsize=20:x=(w-tw)/2:y=(h-th)/2' -frames 1 -y test.png



ffmpeg version 2023-03-27-git-f7abe92bd7-full_build-
www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 12.2.0 (Rev10, Built by MSYS2 project)
configuration : —enable-gpl —enable-version3 —enable-static
—disable-w32threads —disable-autodetect —enable-
fontconfig —enable-iconv —enable-gnutls —enable-libxml2 —
enable-gmp —enable-bzlib —enable-lzma —enable-libsnappy —
enable-zlib —enable-librist —enable-libsrt —enable-libssh
—enable-libzmq —enable-avisynth —enable-libbluray —
enable-libcaca —enable-sdl2 —enable-libaribb24 —enable-
libdav1d —enable-libdavs2 —enable-libuavs3d —enable-
libzvbi —enable-librav1e —enable-libsvtav1 —enable-libwebp
—enable-libx264 —enable-libx265 —enable-libxavs2 —enable-
libxvid —enable-libaom —enable-libjxl —enable-libopenjpeg
—enable-libvpx —enable-mediafoundation —enable-libass —
enable-frei0r —enable-libfreetype —enable-libfribidi —
enable-liblensfun —enable-libvidstab —enable-libvmaf —
enable-libzimg —enable-amf —enable-cuda-llvm —enable-cuvid
—enable-ffnvcodec —enable- nvdec —enable-nvenc —enable-
d3d11va —enable-dxva2 —enable-libvpl —enable-libshaderc —
enable-vulkan —enable-libplacebo - -enable-opencl —enable-
libcdio —enable-libgme —enable-libmodplug —enable-
libopenmpt —enable-libopencore-amrwb —enable-libmp3lame —
enable-libshine —enable-libtheora —enable-libtwolame —
enable-libvo-amrwbenc —enable-libilbc —enable-libgsm —
enable-libopencore-amrnb —enable-libopus —enable-libspeex -
-enable-libvorbis —enable-ladspa —enable-libbs2b —enable-
libflite —enable-libmysofa -tab —enable-libvmaf —enable-
libzimg —enable-amf —enable-cuda-llvm —enable-cuvid —
enable-ffnvcodec —enable-nvdec —enable-nvenc —enable-
d3d11va —enable-dxva2 —enable-libvpl —enable-libshaderc —
enable-vulkan —enable-libplacebo —enable-opencl —enable-
libcdio —enable-libgme —enable-libmodplug —enable-
libopenmpt —enable-libopencore-amrwb —enable-libmp3lame —
enable-libshine —enable-libtheora —enable-libtwolame —
enable-libvo-amrwbenc —enable-libilbc —enable-libgsm —
enable-libopencore-amrnb —enable-libopus —enable-libspeex -
-enable-libvorbis —enable-ladspa —enable-libbs2b —enable-
libflite —enable-libmysofa —enable-librubberband —enable-
libsoxr —enable-chromaprint libavutil 58. 5.100 / 58.

5.100 libavcodec 60. 7.100 / 60. 7.100 libavformat

60. 4.100 / 60. 4.100 libavdevice 60. 2.100 / 60.

2.100 libavfilter 9. 5.100 / 9. 5.100-enable-
librubberband —enable-libsoxr — enable-chromaprint
libavutil 58. 5.100 / 58. 5.100
libavcodec 60. 7.100 / 60. 7.100 Duration : 00:00:00.04,
start : 0.000000, bitrate : 95429 kb/s
Stream #0:0 : Video : mjpeg (Baseline), yuvj444p(pc,
bt470bg/unknown/unknown), 5792x2896, 25 fps, 25 tbr, 25 tbn
Stream mapping :
Stream #0:0 -> #0:0 (mjpeg (native) -> png (native))
Press [q] to stop, [?] for help
Fontconfig error : Cannot load default config file : No such
file : (null)

C:\Users\canjm\Desktop\Image Correction 360\Archive 
Testing\Utilities\Align Photo>pause
Press any key to continue . . .``