
Recherche avancée
Autres articles (43)
-
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs -
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 septembre 2013, parCertains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;
-
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir
Sur d’autres sites (8334)
-
Programmatically creating mpd stream using Python
3 février 2021, par mifol68042I have a live feed using RTSP from an IP camera that is captured using OpenCV in my python code. I capture every frame run some object detection on it and then need to show this in my angular front end.


Initially I had thought to create an RTMP stream in my code and then use that in angular app but then realised that RTMP support is EOL on browsers. Now the alternative to this is that I am planning to create a stream using MPEG Dash. When researching about this, found this link to create a manifest mpd file however the examples there have no mention of the frames or video file. On researching more, I realised we could do something like this :


ffmpeg -i $INPUT.mp4 \
-map 0:v:0 -map 0:a:0 -map 0:v:0 -map 0:a:0 \
-b:v:0 250k -filter:v:0 "scale=-2:240" -profile:v:0 baseline \ 
-b:v:1 750k -filter:v:1 "scale=-2:480" -profile:v:1 main \ 
-use_timeline 1 -use_template 1 -window_size 5 \
-adaptation_sets "id=0,streams=v id=1,streams=a" -f dash $OUTPUT.mpd



This is from command line but how can I achieve this programmatically ??? Also how do I keep updating the mp4 to get a live stream ??


In short, I want to understand how to create live feed using frames via MPEG Dash.


-
Need help accessing the key when trying to decrypt .ts files via ffmpeg
4 juillet 2024, par DizI have downloaded all the individual .ts files and the corresponding m3u8 file from a VOD and I now want to merge them together into a single watchable file.
The problem is, that the .ts files are encrypted and don't understand how to access the key.


Here's the beginning of the m3u8 file :


#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:4
#EXT-X-PLAYLIST-TYPE:EVENT
#EXT-X-MEDIA-SEQUENCE:6484
#EXT-X-KEY:METHOD=AES-128,URI="irvine://aes",KEYFORMATVERSIONS="1",IV=0x1E9ABA2B3C916D47D592D9B1E7674F4B
#EXT-X-PROGRAM-DATE-TIME:2024-05-25T07:24:59.682Z
#EXTINF:4.004,
index_1_6484.ts
#EXT-X-PROGRAM-DATE-TIME:2024-05-25T07:25:03.686Z
#EXTINF:4.004,
index_1_6485.ts
#EXT-X-PROGRAM-DATE-TIME:2024-05-25T07:25:07.690Z
#EXTINF:4.004,
index_1_6486.ts
#EXT-X-PROGRAM-DATE-TIME:2024-05-25T07:25:11.694Z
#EXTINF:4.004,
index_1_6487.ts
...




As far as I understood I only have the initialization vector and I need to access the URI to get the actual key.


I have tried to decrypt the playlist with the following command :


ffmpeg -i index_1.m3u8 -c copy output.ts



But I would always get the following errors :


Unable to open key file irvine://aes
Error when loading first segment 'index_1_6484.ts'
Error opening input: Invalid data found when processing input
Error opening input file index_1.m3u8.
Error opening input files: Invalid data found when processing input



I have also tried just decrypting a single .ts file to start with, with similar results.


ffmpeg -decryption_key 1E9ABA2B3C916D47D592D9B1E7674F4B -i index_1_6484.ts -codec copy index_1_6484_out.ts



-
I cannot play a mp3 file on Discord's voice channel using discord.py
1er décembre 2024, par ra1nedI am creating a discord bot that plays lofi for me. It does not play a song for me even though it shows a green indicator on a voice channel.


Here's what I've written :


if message.content == "!join":
 await message.author.voice.channel.connect()
 await message.channel.send("Successfully connected")

if message.content == "!play":
 if message.guild.voice_client is None: 
 await message.channel.send("use !join")
 return
 
 await message.channel.send("playing a song rn")
 print('*** playing a song rn')
 
 message.guild.voice_client.play(discord.FFmpegPCMAudio('lofi.mp3'))



I put
FFmpeg.exe
andlofi.mp3
in the same directory as this script.
Also, it is strange that FFmpeg does not return any exception nor output on console although it seems to have failed to load the file. I have seen people who had the same problem, but it seems like that they get some error messages, unlike me.

Here's the output on console after using !join


2024-12-01 16:59:39 INFO discord.voice_state Connecting to voice...
2024-12-01 16:59:39 INFO discord.voice_state Starting voice handshake... (connection attempt 1)
2024-12-01 16:59:40 INFO discord.voice_state Voice handshake complete. Endpoint found: japan8946.discord.media
2024-12-01 16:59:40 INFO discord.voice_state Voice connection complete.



after using !play, it only displays the message I wrote :


*** playing a song rn



Can someone help me with this ?