Recherche avancée

Médias (91)

Autres articles (65)

  • MediaSPIP Core : La Configuration

    9 novembre 2010, par

    MediaSPIP 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, par

    Chaque 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, par

    Accé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 Rheinhardt
    avcodec/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>

    • [DH] libavcodec/parser.c
  • How can I decrypt this m3u8 and key file to mp4, Maybe its use javascript to decryptdata

    23 décembre 2020, par lionkinglk

    THIS is the video website :&#xA;the video website link

    &#xA;

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

    &#xA;

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

    &#xA;

    The key file is

    &#xA;

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

    &#xA;

    and the IV value in the m3u8 file is

    &#xA;

    IV=0x786d9270e353d8758b621c1f775491f2&#xA;

    &#xA;

    Too long bytes to FFMPEG.

    &#xA;


    &#xA;

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

    &#xA;

    Chrome - Network log :

    &#xA;

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

    &#xA;

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

    &#xA;

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

    &#xA;

    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.

    &#xA;


    &#xA;

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

    &#xA;

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

    &#xA;

    Thanks in advance.

    &#xA;

  • Pipe ffmpeg process with node js

    20 juin 2022, par Max

    When 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.

    &#xA;

    app.get("/stream", async (req, res) => {&#xA;  const url = "rtsp://213.3.38.11/axis-media/media.amp";&#xA;&#xA;  const cmd = [&#xA;    "-re",&#xA;    "-loglevel",&#xA;    "debug",&#xA;    "-reorder_queue_size",&#xA;    "5",&#xA;    "-rtsp_transport",&#xA;    "tcp",&#xA;    "-i",&#xA;    `${url}`,&#xA;    "-c:v",&#xA;    "copy",&#xA;    "-c:a",&#xA;    "aac",&#xA;    "-f",&#xA;    "mp4",&#xA;    "-movflags",&#xA;    "&#x2B;frag_keyframe&#x2B;empty_moov&#x2B;default_base_moof",&#xA;    "pipe:1",&#xA;  ];&#xA;&#xA;  const child = spawn("ffmpeg", cmd, {&#xA;    stdio: ["ignore", "pipe", process.stderr],&#xA;  });&#xA;&#xA;  child.stdio[1].pipe(res)l&#xA;&#xA;  res.on("close", () => {&#xA;    child.stdio[1].unpipe(res);&#xA;  });&#xA;});&#xA;&#xA;

    &#xA;

    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.

    &#xA;