
Recherche avancée
Autres articles (65)
-
MediaSPIP Core : La Configuration
9 novembre 2010, parMediaSPIP Core fournit par défaut trois pages différentes de configuration (ces pages utilisent le plugin de configuration CFG pour fonctionner) : une page spécifique à la configuration générale du squelettes ; une page spécifique à la configuration de la page d’accueil du site ; une page spécifique à la configuration des secteurs ;
Il fournit également une page supplémentaire qui n’apparait que lorsque certains plugins sont activés permettant de contrôler l’affichage et les fonctionnalités spécifiques (...) -
Le profil des utilisateurs
12 avril 2011, parChaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...) -
Configurer la prise en compte des langues
15 novembre 2010, parAccéder à la configuration et ajouter des langues prises en compte
Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...)
Sur d’autres sites (5510)
-
avcodec/parser : Don't return pointer to stack buffer
19 mars 2021, par Andreas Rheinhardtavcodec/parser : Don't return pointer to stack buffer
When flushing, the parser receives a dummy buffer with padding
that lives on the stack of av_parser_parse2(). Certain parsers
(e.g. Dolby E) only analyze the input, but don't repack it. When
flushing, such parsers return a pointer to the stack buffer and
a size of 0. And this is also what av_parser_parse2() returns.Fix this by always resetting poutbuf in case poutbuf_size is zero.
Reviewed-by : James Almer <jamrial@gmail.com>
Signed-off-by : Andreas Rheinhardt <andreas.rheinhardt@gmail.com> -
How can I decrypt this m3u8 and key file to mp4, Maybe its use javascript to decryptdata
23 décembre 2020, par lionkinglkTHIS is the video website :
the video website link


From this video link, I download the m3u8, key.key and ts video files, and use FFMPEG to transform these files to mp4.
but Error :


ffmpeg -allowed_extensions ALL -i a.m3u8 -c copy 01.mp4
ffmpeg version N-94813-g85386c36e3-ffmpeg-for-N_m3u8DL-CLI Copyright (c) 2000-2019 the FFmpeg developers
 built with gcc 8.2.0 (GCC)
 libavutil 56. 35.100 / 56. 35.100
 libavcodec 58. 56.101 / 58. 56.101
 libavformat 58. 32.104 / 58. 32.104
 libavfilter 7. 58.102 / 7. 58.102
 libavresample 4. 0. 0 / 4. 0. 0
 libswresample 3. 6.100 / 3. 6.100
[hls @ 007e3000] Skip ('#EXT-X-VERSION:3')
[hls @ 007e3000] Skip ('#EXT-X-ALLOW-CACHE:YES')
[hls @ 007e3000] Opening 'a.key' for reading
[hls @ 007e3000] Opening 'crypto:43924590506ad94e644d0bfac89e14b9_2_0.ts' for reading
[hls @ 007e3000] Opening 'crypto:43924590506ad94e644d0bfac89e14b9_2_1.ts' for reading
[hls @ 007e3000] Error when loading first segment '43924590506ad94e644d0bfac89e14b9_2_0.ts'
a.m3u8: Invalid data found when processing input



The key file is


00000000h: 46 F5 50 A3 7A 46 85 B5 8C 17 5B 0E 4B 8D F5 49 ; F鮌F叺?[.K嶕I
00000010h: F1 02 79 41 58 C7 A3 D3 17 90 0D D6 27 67 D6 D0 ; ?yAX牵???g中



and the IV value in the m3u8 file is


IV=0x786d9270e353d8758b621c1f775491f2



Too long bytes to FFMPEG.



In my limited experience with html and javascript, I found the Chrome blob a random named javascript file when the website page freshed.


Chrome - Network log :


XHR:43924590506ad94e644d0bfac89e14b9_2.m3u8?pid=1608691204584X1511260&device=desktop
XHR:43924590506ad94e644d0bfac89e14b9_2.key?token=1df110e5-ff1d-42de-bd39-b63304bb3062-53648385
XHR:43924590506ad94e644d0bfac89e14b9_2_0.ts?pid=1608691204584X1511260&device=desktop
Other:blob:https://www.sciconf.cn/93ebcbe3-0211-4ec0-94df-421024e8b505




Some codes in the javascript file (
blob:https://www.sciconf.cn/93ebcbe3-0211-4ec0-94df-421024e8b505
)like :

o = function() {
 function t(t, e, i, n) {
 this.decryptdata = i,
 this.discardEPB = n,
 this.decrypter = new v.a(t,e,{
 removePKCS7Padding: !1
 })
 }
 var e = t.prototype;
 return e.decryptBuffer = function(t, e) {
 this.decrypter.decrypt(t, this.decryptdata.key.buffer, this.decryptdata.iv.buffer, e)
 }



I think the website use this js file to decrypt the key file and the IV value, but I can't add breakpoint to the random named js file.



I am studying this for a long time, but no use.


Please help or try to give some ideas how to achieve the decrypted key and IV ?


Thanks in advance.


-
Pipe ffmpeg process with node js
20 juin 2022, par MaxWhen I make request to route, spawn process and pipe it directly to response, it works perfectly fine and creates livestream. However, it takes some time to start process and buffer some data to start playing video.


app.get("/stream", async (req, res) => {
 const url = "rtsp://213.3.38.11/axis-media/media.amp";

 const cmd = [
 "-re",
 "-loglevel",
 "debug",
 "-reorder_queue_size",
 "5",
 "-rtsp_transport",
 "tcp",
 "-i",
 `${url}`,
 "-c:v",
 "copy",
 "-c:a",
 "aac",
 "-f",
 "mp4",
 "-movflags",
 "+frag_keyframe+empty_moov+default_base_moof",
 "pipe:1",
 ];

 const child = spawn("ffmpeg", cmd, {
 stdio: ["ignore", "pipe", process.stderr],
 });

 child.stdio[1].pipe(res)l

 res.on("close", () => {
 child.stdio[1].unpipe(res);
 });
});




I would like to create process while starting server so I can pipe it whenever I make request to that route, but when I do so, process is living for a few seconds then stops using cpu. Sometimes it lives, but dies when I make request and try piping it.