
Recherche avancée
Autres articles (40)
-
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 (...) -
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 ;
-
Ecrire une actualité
21 juin 2013, parPrésentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
Vous pouvez personnaliser le formulaire de création d’une actualité.
Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)
Sur d’autres sites (5391)
-
How to decrypt AES 128 encrypted HLS stream when URI for key is "k/timestamp"
25 janvier 2021, par Wilfred AlmeidaI have downloaded 1784
.ts
files and they are AES 128 encrypted.

The
.m3u8
file has#EXT-X-KEY:METHOD=AES-128,URI="k/timestamp",IV=0x496daa1c6914000e408c65cead91fc29
which I guess indicates that the key must be in a file named timestamp. I got the "timestamp" file and now I want to decrypt.

I tried replacing the URI with
URI="file:timestamp"
with all the.ts
, the.m3u8
and the timestamp file all in same directory and ran the ffmpeg command

ffmpeg -allowed_extensions ALL -protocol_whitelist file,tcp,crypto,http,https -i playlist.m3u8 -c copy op.mp4


but got the errors
Error when loading first segment 'hls_350k_000.ts' playlist.m3u8: Invalid data found when processing input
even though it opened the file successfully.

I tried specifying the URI as
URI="http://localhost/mydir/timestamp"
but got the same error as specified above. I had all.ts
,.m3u8
,"timestamp" file in XAMPP's htdocs folder.

When I open the "timestamp" file in browser's inspect->Network->Click on file->preview, I see weird text like
kf¯2“.ú¸“Á•ª Bn5ydr/x$.9+cgKC!<ßû¢ÌNñ®jûŸŸ
and it changes everytime I refresh the site.

I specified the link of the file in
URI
and tried, same error.

I tried specifying
.key
extension to the "timestamp" file, same error.

I downloaded the "timestamp" file by entering its URL into browser which I got from inspect->Network->Click on file->Headers, I didn't download it as HAR or other stuff.


I tried playing the
.m3u8
file in chrome using chrome by using Native HLS Playback extension with files hosted using XAMPP but it doesn't play, video player shows loading and the chrome's console has following errors

(anonymous) @ player.js:57
player.js:11 trying to recover from media Error ...
handleMediaError @ player.js:11
hls.0.12.4.min.js:1 Uncaught (in promise) DOMException: The play() request was interrupted by a new load request.
player.js:57 Player error: mediaError - fragParsingError
(anonymous) @ player.js:57
player.js:17 trying to swap Audio Codec and recover from media Error ...
handleMediaError @ player.js:17
player.js:57 Player error: mediaError - fragParsingError
(anonymous) @ player.js:57
player.js:22 cannot recover, last media error recovery failed ...
handleMediaError @ player.js:22
DevTools failed to load SourceMap: Could not load content for chrome-extension://emnphkkblegpebimobpbekeedfgemhof/hlsjs/hls.min.js.map: HTTP error: status code 404, net::ERR_UNKNOWN_URL_SCHEME



I tried combining the
.ts
files using ffmpeg but got the same errors specified above.

How do I decrypt the files and combine them into a single vlc playable file ?


-
ffmpeg "Underestimated required buffer size"
10 avril 2021, par KajunaI'm seeing this error on some Windows machine when converting an 8K png stream to ProRes 4444 with ffmpeg. The command looks like




ffmpeg -f image2pipe -framerate 30000/1001 -i - -c:v prores_ks -y output.mov




And the output




ffmpeg version git-2020-06-17-0b3bd00 Copyright (c) 2000-2020 the
FFmpeg developers built with gcc 9.3.1 (GCC) 20200523

configuration : —enable-gpl —enable-version3 —enable-sdl2
—enable-fontconfig —enable-gnutls —enable-iconv —enable-libass —enable-libdav1d —enable-libbluray —enable-libfreetype —enable-libmp3lame —enable-libopencore-amrnb —enable-libopencore-amrwb —enable-libopenjpeg —enable-libopus —enable-libshine —enable-libsnappy —enable-libsoxr —enable-libsrt —enable-libtheora —enable-libtwolame —enable-libvpx —enable-libwavpack —enable-libwebp —enable-libx264 —enable-libx265 —enable-libxml2 —enable-libzimg —enable-lzma —enable-zlib —enable-gmp —enable-libvidstab —enable-libvmaf —enable-libvorbis —enable-libvo-amrwbenc —enable-libmysofa —enable-libspeex —enable-libxvid —enable-libaom —disable-w32threads —enable-libmfx —enable-ffnvcodec —enable-cuda-llvm —enable-cuvid —enable-d3d11va —enable-nvenc —enable-nvdec —enable-dxva2 —enable-avisynth —enable-libopenmpt —enable-amf libavutil 56. 55.100 / 56. 55.100 libavcodec 58. 92.100 / 58. 92.100 libavformat 58. 46.101 / 58. 46.101 libavdevice 58. 11.100 / 58. 11.100 libavfilter 7. 86.100 / 7. 86.100 libswscale 5. 8.100 /
5. 8.100 libswresample 3. 8.100 / 3. 8.100 libpostproc 55. 8.100 / 55. 8.100 [image2pipe @ 000002245a96da40] Stream #0 : not enough frames to estimate rate ; consider increasing probesize Input
#0, image2pipe, from 'pipe :' : Duration : N/A, bitrate : N/A
Stream #0:0 : Video : png, rgba(pc), 7680x3840, 29.97 tbr, 29.97 tbn, 29.97 tbc Stream mapping : Stream #0:0 -> #0:0 (png (native) ->
prores (prores_ks)) frame= 0 fps=0.0 q=0.0 size= 0kB
time=-577014:32:22.77 bitrate= -0.0kbits/s speed=N/A frame= 0
fps=0.0 q=0.0 size= 0kB time=-577014:32:22.77 bitrate=
-0.0kbits/s speed=N/A frame= 0 fps=0.0 q=0.0 size= 0kB time=-577014:32:22.77 bitrate= -0.0kbits/s speed=N/A frame= 0
fps=0.0 q=0.0 size= 0kB time=-577014:32:22.77 bitrate=
-0.0kbits/s speed=N/A frame= 0 fps=0.0 q=0.0 size= 0kB time=-577014:32:22.77 bitrate= -0.0kbits/s speed=N/A [prores_ks @
000002245aaaf080] Autoselected 4:4:4:4 profile because of the used
input colorspace. It can be overridden through -profile option.
[prores_ks @ 000002245aaaf700] Autoselected 4:4:4:4 profile because of
the used input colorspace. It can be overridden through -profile
option. [prores_ks @ 000002245aa1e7c0] Autoselected 4:4:4:4 profile
because of the used input colorspace. It can be overridden through
-profile option. [prores_ks @ 000002245aa1d580] Autoselected 4:4:4:4 profile because of the used input colorspace. It can be overridden
through -profile option. [prores_ks @ 000002245aa1ec40] Autoselected
4:4:4:4 profile because of the used input colorspace. It can be
overridden through -profile option. [prores_ks @ 000002245aa1da00]
Autoselected 4:4:4:4 profile because of the used input colorspace. It
can be overridden through -profile option. [prores_ks @
000002245aa1f540] Autoselected 4:4:4:4 profile because of the used
input colorspace. It can be overridden through -profile option.
[prores_ks @ 000002245aa1de80] Autoselected 4:4:4:4 profile because of
the used input colorspace. It can be overridden through -profile
option. [prores_ks @ 000002245a972b40] Autoselected 4:4:4:4 profile
because of the used input colorspace. It can be overridden through
-profile option. Output #0, mov, to 'output.mov' : Metadata :
encoder : Lavf58.46.101
Stream #0:0 : Video : prores (prores_ks) (ap4h / 0x68347061), yuva444p10le, 7680x3840, q=2-31, 200 kb/s, 29.97 fps, 30k tbn, 29.97
tbc
Metadata :
encoder : Lavc58.92.100 prores_ks frame= 1 fps=0.2 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x

frame= 2 fps=0.3 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A
speed= 0x frame= 3 fps=0.4 q=0.0 size= 0kB
time=00:00:00.00 bitrate=N/A speed= 0x frame= 4 fps=0.4 q=0.0
size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x frame=

5 fps=0.5 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed=

0x [prores_ks @ 000002245aaaf080] Underestimated required buffer
size. Video encoding failed [prores_ks @ 000002245aaaf700]
Underestimated required buffer size. [prores_ks @ 000002245aa1e7c0]
Underestimated required buffer size. [prores_ks @ 000002245aa1d580]
Underestimated required buffer size. [prores_ks @ 000002245aa1ec40]
Underestimated required buffer size. [prores_ks @ 000002245aa1da00]
Underestimated required buffer size. Conversion failed !



How could I debug this considering I don't have access to the problematic machine (a user does) ? Could the "not enough frames to estimate rate ; consider increasing probesize" message be related to the problem ?


Thanks


Edit : I increased probesize and that warning disappeared, but the conversion keeps failing with the same error message "Underestimated required buffer size". I can now reproduce this on one of my Windows machines.


Edit 2 : Not a solution but I found out that this problem is gone if using ffmpeg 4.2.3 and was introduced with 4.3


-
typeError when using ffmpeg with buffer in NodeJS ["argument must be of type string or an instance of Buffer"]
16 mars 2021, par coolps811I am trying to covert buffer data into the correct mp4 video format. However I am getting an error : "UnhandledPromiseRejectionWarning : TypeError [ERR_INVALID_ARG_TYPE] : The "data" argument must be of type string or an instance of Buffer, TypedArray, or DataView. Received an instance of FfmpegCommand". How can I fix this ?


router.post("/download", (req, res, next) => {
 axios({
 method: "get",
 url: req.body.url,
 responseType: "arraybuffer",
 }).then(function (response) {
 const data = new Uint8Array(Buffer.from(response.data));

 const proc = new ffmpeg(data)
 .videoCodec("libx264")
 .outputOptions(["-movflags isml+frag_keyframe"])
 .toFormat("mp4")
 //.seekInput(offset) this is a problem with piping
 .on("error", function (err, stdout, stderr) {
 console.log("an error happened: " + err.message);
 console.log("ffmpeg stdout: " + stdout);
 console.log("ffmpeg stderr: " + stderr);
 })
 .on("end", function () {
 console.log("Processing finished !");
 })
 .on("progress", function (progress) {
 console.log("Processing: " + progress.percent + "% done");
 });

 fs.writeFile("Assets/test.mp4", proc, callback);
 });

 const callback = (err) => {
 if (err) throw err;
 console.log("It's saved!");
 };
});