
Recherche avancée
Médias (1)
-
Rennes Emotion Map 2010-11
19 octobre 2011, par
Mis à jour : Juillet 2013
Langue : français
Type : Texte
Autres articles (87)
-
Organiser par catégorie
17 mai 2013, parDans MédiaSPIP, une rubrique a 2 noms : catégorie et rubrique.
Les différents documents stockés dans MédiaSPIP peuvent être rangés dans différentes catégories. On peut créer une catégorie en cliquant sur "publier une catégorie" dans le menu publier en haut à droite ( après authentification ). Une catégorie peut être rangée dans une autre catégorie aussi ce qui fait qu’on peut construire une arborescence de catégories.
Lors de la publication prochaine d’un document, la nouvelle catégorie créée sera proposée (...) -
Récupération d’informations sur le site maître à l’installation d’une instance
26 novembre 2010, parUtilité
Sur le site principal, une instance de mutualisation est définie par plusieurs choses : Les données dans la table spip_mutus ; Son logo ; Son auteur principal (id_admin dans la table spip_mutus correspondant à un id_auteur de la table spip_auteurs)qui sera le seul à pouvoir créer définitivement l’instance de mutualisation ;
Il peut donc être tout à fait judicieux de vouloir récupérer certaines de ces informations afin de compléter l’installation d’une instance pour, par exemple : récupérer le (...) -
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 (9047)
-
How to use ffmpeg-python library to download a Twitch VOD with a link retrieved using the streamlink library
28 octobre 2020, par Daniel NorfolkThis is the whole code, for easy reference :


import urllib.request
import streamlink
import ffmpeg
stream_url = streamlink.streams("https://www.twitch.tv/videos/783301562")['best'].url
print(stream_url)

try:
 urllib.request.urlretrieve(stream_url, "vod.m3u8")
except Exception as e:
 print(e)

stream = (
 ffmpeg
 .input('vod.m3u8')
 .output('output.mp4')
 .run
)
print(stream)



I am looking at a way of downloading Twitch VODs. I started with the link to a VOD : https://www.twitch.tv/videos/783301562 . I then used the code :


stream_url = streamlink.streams("https://www.twitch.tv/videos/783301562")['best'].url
print(stream_url)



This gave me a new link which, when I go to this link it downloaded a file with a '.m3u8' extension. This link is : https://dqrpb9wgowsf5.cloudfront.net/ab3654a5992fbfa52ccb_briziana_40240109614_1603789265/chunked/index-dvr.m3u8


From here, I first tried to put the link directly into the following code :


stream = (
 ffmpeg
 .input(stream_url)
 .output('output.mp4')
 .run
)
print(stream)



This didn't output any mp4 file but did give the output :




> 



I then added the following code to download the file, I also change the ffmpeg code to use the downloaded file rather then the url :


try:
 urllib.request.urlretrieve(stream_url, "vod.m3u8")
except Exception as e:
 print(e)

stream = (
 ffmpeg
 .input('vod.m3u8')
 .output('output.mp4')
 .run
)
print(stream)



This gave the same result, no mp4 file with the same output as above. Any help would be greatly appreciated !


-
vulkan : add support for regular descriptor pools
22 septembre 2024, par Lynnevulkan : add support for regular descriptor pools
This permits :
- The use of Vulkan filtering on many more devices
- Better debugging due to lack of descriptor buffer support in layersMuch of the changes here are due to a requirement that updates to
descriptors must happen between the command buffer being waited on,
and the pipeline not being bound.We routinely did it the other way around, by updating only after
we bind the pipeline. -
avfilter/af_stereowiden : fix read/write past the end of buffer
12 juillet 2016, par Alexey Tourbinavfilter/af_stereowiden : fix read/write past the end of buffer
The stereowiden filter uses a buffer, s->buffer[], and a pointer
within the buffer, s->write, to implement inter-channel delays.
The loop which applies the delayed samples turns out to be faulty.109 for (n = 0 ; n < in->nb_samples ; n++, src += 2, dst += 2)
110 const float left = src[0], right = src[1] ;
111 float *read = s->write + 2 ;
112
113 if (read > s->buffer + s->length)
114 read = s->buffer ;
115
116 dst[0] = drymix * left - crossfeed * right - feedback * read[1] ;
117 dst[1] = drymix * right - crossfeed * left - feedback * read[0] ;
118
119 s->write[0] = left ;
120 s->write[1] = right ;
121
122 if (s->write == s->buffer + s->length)
123 s->write = s->buffer ;
124 else
125 s->write += 2 ;
126For one, the buffer gets written past its end in lines 119-120, before
the bound check is done in lines 122-123. This can be easily confirmed
by valgrind.==3544== Invalid read of size 4
==3544== at 0x593B41 : filter_frame (af_stereowiden.c:116)
==3544== Address 0xb1b03c4 is 4 bytes after a block of size 7,680 alloc’d
==3544==
==3544== Invalid read of size 4
==3544== at 0x593B66 : filter_frame (af_stereowiden.c:117)
==3544== Address 0xb1b03c0 is 0 bytes after a block of size 7,680 alloc’d
==3544==
==3544== Invalid write of size 4
==3544== at 0x593B79 : filter_frame (af_stereowiden.c:119)
==3544== Address 0xb1b03c0 is 0 bytes after a block of size 7,680 alloc’d
==3544==
==3544== Invalid write of size 4
==3544== at 0x593B7D : filter_frame (af_stereowiden.c:120)
==3544== Address 0xb1b03c4 is 4 bytes after a block of size 7,680 alloc’dAlso, using two separate pointers, s->write and read = s->write + 2,
does not seem to be well thought out. To apply the delay of s->buffer[],
it is enough to read the delayed samples at the current position within
the buffer, and then to store new samples at the same current position.
Thus the application of delayed samples can probably be best described
with a single pointer s->cur.I also introduce a minor change to ensure that the size of s->buffer[]
is always a multiple of 2. Since the delay parameter is a float, it is
otherwise possible to trick the code into allocating off-by-one buffer.