
Recherche avancée
Médias (3)
-
MediaSPIP Simple : futur thème graphique par défaut ?
26 septembre 2013, par
Mis à jour : Octobre 2013
Langue : français
Type : Video
-
GetID3 - Bloc informations de fichiers
9 avril 2013, par
Mis à jour : Mai 2013
Langue : français
Type : Image
-
GetID3 - Boutons supplémentaires
9 avril 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Image
Autres articles (37)
-
La sauvegarde automatique de canaux SPIP
1er avril 2010, parDans le cadre de la mise en place d’une plateforme ouverte, il est important pour les hébergeurs de pouvoir disposer de sauvegardes assez régulières pour parer à tout problème éventuel.
Pour réaliser cette tâche on se base sur deux plugins SPIP : Saveauto qui permet une sauvegarde régulière de la base de donnée sous la forme d’un dump mysql (utilisable dans phpmyadmin) mes_fichiers_2 qui permet de réaliser une archive au format zip des données importantes du site (les documents, les éléments (...) -
La file d’attente de SPIPmotion
28 novembre 2010, parUne file d’attente stockée dans la base de donnée
Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...) -
Script d’installation automatique de MediaSPIP
25 avril 2011, parAfin de palier aux difficultés d’installation dues principalement aux dépendances logicielles coté serveur, un script d’installation "tout en un" en bash a été créé afin de faciliter cette étape sur un serveur doté d’une distribution Linux compatible.
Vous devez bénéficier d’un accès SSH à votre serveur et d’un compte "root" afin de l’utiliser, ce qui permettra d’installer les dépendances. Contactez votre hébergeur si vous ne disposez pas de cela.
La documentation de l’utilisation du script d’installation (...)
Sur d’autres sites (5221)
-
Nginx - RTMP module - VLC wont start
15 janvier, par Diana SariWhy my vlc only show background colour ?
did i miss something important ?


Im running Nginx with RTMP module on
Linux DESKTOP-RJHVE83 5.15.167.4-microsoft-standard-WSL2 #1 SMP x86_64 GNU/Linux
Kali release : 2024.4 (kali-rolling) WSL on Windows 10 Pro




/etc/nginx/nginx.conf
i add this from the default :


rtmp {
 server {
 listen 1935;
 chunk_size 4096;
 allow publish 127.0.0.1;
 deny publish all;

 application live {
 live on;
 record off;
 push rtmp://127.0.0.1/live/stream;
 }
 }
}



Stream my mp4 file using ffmpeg :




Kali$> ffmpeg -re -i file.mp4 -c:v libx264 -c:a aac -flvflags no_duration_filesize -f flv rtmp ://localhost:1935/live/




VLC on the same machine on WIndows 10 Pro
Open Network Protocol : rtmp ://192.168.1.1:1935/live/


The Vlc Show only Background colour (attach)


-Access.log
172.27.96.1 [14/Jan/2025:14:28:02 +0700] PLAY "live" "" "" - 556 1612142 "" "LNX 9,0,124,2" (25s)
127.0.0.1 [14/Jan/2025:14:28:34 +0700] PUBLISH "live" "" "" - 4573293 529 "" "FMLE/3.0 (compatible ; Lavf61.7." (1m 3s)
172.27.96.1 [14/Jan/2025:14:29:47 +0700] PLAY "live" "" "" - 365 1578527 "" "LNX 9,0,124,2" (1m 43s)


-Error.log
Blank


i tried this on :
Ubuntu Focal 20.04.6 (WSL)
Ubuntu Noble24.04.1 LTS (WSL)
id read 2 tutorials
https://www.hostinger.com/tutorials/how-to-set-up-a-streaming-server
https://www.digitalocean.com/community/tutorials/how-to-set-up-a-video-streaming-server-using-nginx-rtmp-on-ubuntu-20-04


-
Multiple trims to a video using ffmpeg generating video with shorter duration than expected [closed]
9 septembre 2024, par GerardoI have an application that given a video it trims multiple parts of that video using
ffmpeg
. Each part is cropped, scaled and then concatenated to generate a single video.

To share an example, I have a video of 1 minute and 44 seconds of duration and 60 fps. My goal is to trim 3 parts of the video :


- 

- First one between seconds 0 to 44.666
- Second one between seconds 44.666 to 74.349
- Third one between seconds 74.349 to 103.985








The ffmpeg command I use to achieve that is the following one :


ffmpeg -y -hide_banner -i bg_720_1280.png -i error.mp4 -filter_complex "
[1:v]trim=0.0:44.666,setpts=PTS-STARTPTS,crop=405.0:720.0:437.5:0.0,scale=-2:1280.0[crop_1_0_v];
[1:a]atrim=0.0:44.666,volume=1.0,asetpts=PTS-STARTPTS[crop_1_0_a];
[0:v][crop_1_0_v]overlay=enable='between(t,0,44.666)':x=0.0:y=0.0[crop_1_0_v];
[1:v]trim=44.666:74.349,setpts=PTS-STARTPTS,crop=405.0:720.0:437.5:0.0,scale=-2:1280.0[crop_2_0_v];
[1:a]atrim=44.666:74.349,volume=1.0,asetpts=PTS-STARTPTS[crop_2_0_a];
[0:v][crop_2_0_v]overlay=enable='between(t,0,29.683)':x=0.0:y=0.0[crop_2_0_v];
[1:v]trim=74.349:103.985,setpts=PTS-STARTPTS,crop=405.0:720.0:437.5:0.0,scale=-2:1280.0[crop_3_0_v];
[1:a]atrim=74.349:103.985,volume=1.0,asetpts=PTS-STARTPTS[crop_3_0_a];
[0:v][crop_3_0_v]overlay=enable='between(t,0,29.636)':x=0.0:y=0.0[crop_3_0_v];
[crop_1_0_a][crop_2_0_a][crop_3_0_a]concat=n=3:v=0:a=1[a];
[crop_1_0_v][crop_2_0_v][crop_3_0_v]concat=n=3:v=1:a=0[outv];
[a]amix=1:duration=longest[outa]" -map "[outv]" -map "[outa]" -vcodec libx264 -acodec aac -sws_flags lanczos -pix_fmt yuv420p -crf 17 -preset superfast -r 60 test.mp4



Running this command it generates a video of 11 seconds of duration and I'm unable to understand it. What is wrong with the command ? Also I'm open to recommendations of the ffmpeg command in case you find another way more efficient or performant.


I'm using the following FFMPEG version :


ffmpeg version 7.0.2 Copyright (c) 2000-2024 the FFmpeg developers
 built with Apple clang version 15.0.0 (clang-1500.3.9.4)
 configuration: --prefix=/usr/local/Cellar/ffmpeg/7.0.2 --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-ldflags='-Wl,-ld_classic' --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libaribb24 --enable-libbluray --enable-libdav1d --enable-libharfbuzz --enable-libjxl --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librist --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libspeex --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-videotoolbox --enable-audiotoolbox
 libavutil 59. 8.100 / 59. 8.100
 libavcodec 61. 3.100 / 61. 3.100
 libavformat 61. 1.100 / 61. 1.100
 libavdevice 61. 1.100 / 61. 1.100
 libavfilter 10. 1.100 / 10. 1.100
 libswscale 8. 1.100 / 8. 1.100
 libswresample 5. 1.100 / 5. 1.100
 libpostproc 58. 1.100 / 58. 1.100



But I got the same issue with static ffmpeg builds


The file
bg_720_1280.png
is just a transparent image of resolution 720x1280. I think I could achieve the same by usingnullsrc
filter with that resolution instead of using this background image.

-
The problem with pydub.AudioSegment.from_file (ffmpeg)
7 septembre 2024, par akkooldaI'm trying to make a normal voice recording discord. When I try to convert an Audio Data object, an error occurs. I've already tried everything I can, I can't solve the problem.


Here is the code, the error occurs in the seg variable :


async def once_done(sink: discord.sinks.MP3Sink, channel: discord.TextChannel, *args):
 words_list = []
 audio_segs: list[pydub.AudioSegment] = []
 longest = pydub.AudioSegment.empty()
 files: list[discord.File] = []

 for user_id, audio in sink.audio_data.items():
 try:
 payload: FileSource = {
 "buffer": audio.file.read(),
 "mimetype": "audio/mp3" # Указываем тип аудиофайла
 }

 #audio.on_format("mp3")
 seg = pydub.AudioSegment.from_file(audio.file, format="mp3")



The error itself


Exception in thread Thread-3 (recv_audio):
 Traceback (most recent call last):
 File "c:\Users\olimp\OneDrive\Рабочий стол\Work on Python\management-followups-bot\main.py", line 66, in once_done
 seg = pydub.AudioSegment.from_file(audio.file, format="mp3")
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 File "C:\Users\olimp\AppData\Local\Programs\Python\Python311\Lib\site-packages\pydub\audio_segment.py", line 773, in from_file
 raise CouldntDecodeError(
 pydub.exceptions.CouldntDecodeError: Decoding failed. ffmpeg returned error code: 3199971767
 
 Output from ffmpeg/avlib:
 
 ffmpeg version 2024-09-02-git-3f9ca51015-full_build-www.gyan.dev Copyright (c) 2000-2024 the FFmpeg developers
 built with gcc 13.2.0 (Rev5, 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-libaribcaption --enable-libdav1d --enable-libdavs2 --enable-libopenjpeg --enable-libquirc --enable-libuavs3d --enable-libxevd --enable-libzvbi --enable-libqrencode --enable-librav1e --enable-libsvtav1 --enable-libvvenc --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxeve --enable-libxvid --enable-libaom --enable-libjxl --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-dxva2 --enable-d3d11va --enable-d3d12va --enable-ffnvcodec --enable-libvpl --enable-nvdec --enable-nvenc --enable-vaapi --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-libcodec2 --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 59. 35.100 / 59. 35.100
 libavcodec 61. 11.100 / 61. 11.100
 libavformat 61. 5.101 / 61. 5.101
 libavdevice 61. 2.100 / 61. 2.100
 libavfilter 10. 2.102 / 10. 2.102
 libswscale 8. 2.100 / 8. 2.100
 libswresample 5. 2.100 / 5. 2.100
 libpostproc 58. 2.100 / 58. 2.100
 [cache @ 000001b25c1c6e00] Inner protocol failed to seekback end : -40
 Last message repeated 1 times
 [mp3 @ 000001b25c1c6840] Failed to find two consecutive MPEG audio frames.
 [cache @ 000001b25c1c6e00] Statistics, cache hits:0 cache misses:0
 [in#0 @ 000001b25c1ac740] Error opening input: Invalid data found when processing input
 Error opening input file cache:pipe:0.
 Error opening input files: Invalid data found when processing input
 
 
 During handling of the above exception, another exception occurred:
 
 Traceback (most recent call last):
 File "C:\Users\olimp\AppData\Local\Programs\Python\Python311\Lib\threading.py", line 1038, in _bootstrap_inner
 self.run()
 File "C:\Users\olimp\AppData\Local\Programs\Python\Python311\Lib\threading.py", line 975, in run
 self._target(*self._args, **self._kwargs)
 File "C:\Users\olimp\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\voice_client.py", line 868, in recv_audio
 result = callback.result()
 ^^^^^^^^^^^^^^^^^
 File "C:\Users\olimp\AppData\Local\Programs\Python\Python311\Lib\concurrent\futures\_base.py", line 456, in result
 return self.__get_result()
 ^^^^^^^^^^^^^^^^^^^
 File "C:\Users\olimp\AppData\Local\Programs\Python\Python311\Lib\concurrent\futures\_base.py", line 401, in __get_result
 raise self._exception
 File "c:\Users\olimp\OneDrive\Рабочий стол\Work on Python\management-followups-bot\main.py", line 95, in once_done
 await channel.send(f"Ошибка при работе с Deepgram API: {str(e)}")
 File "C:\Users\olimp\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\abc.py", line 1666, in send
 data = await state.http.send_message(
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 File "C:\Users\olimp\AppData\Local\Programs\Python\Python311\Lib\site-packages\discord\http.py", line 374, in request
 raise HTTPException(response, data)
 discord.errors.HTTPException: 400 Bad Request (error code: 50035): Invalid Form Body
 In content: Must be 2000 or fewer in length.

Solving the error, how else can you normally record user audio



How can I fix this, or maybe there are some other options ?