
Recherche avancée
Autres articles (44)
-
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 -
Pas question de marché, de cloud etc...
10 avril 2011Le vocabulaire utilisé sur ce site essaie d’éviter toute référence à la mode qui fleurit allègrement
sur le web 2.0 et dans les entreprises qui en vivent.
Vous êtes donc invité à bannir l’utilisation des termes "Brand", "Cloud", "Marché" etc...
Notre motivation est avant tout de créer un outil simple, accessible à pour tout le monde, favorisant
le partage de créations sur Internet et permettant aux auteurs de garder une autonomie optimale.
Aucun "contrat Gold ou Premium" n’est donc prévu, aucun (...) -
Ajouter des informations spécifiques aux utilisateurs et autres modifications de comportement liées aux auteurs
12 avril 2011, parLa manière la plus simple d’ajouter des informations aux auteurs est d’installer le plugin Inscription3. Il permet également de modifier certains comportements liés aux utilisateurs (référez-vous à sa documentation pour plus d’informations).
Il est également possible d’ajouter des champs aux auteurs en installant les plugins champs extras 2 et Interface pour champs extras.
Sur d’autres sites (8129)
-
FFmpeg corrupting footage
15 janvier 2021, par WickednessProI'm developing an app that will be able to protect images from screenshots/recordings found that the only way to do this is via Apple Fairplay which states the videos must be in encrypted format HLS. I'm able to convert the image to a video however when I convert it to HLS, the video ends up corrupted. I'm currently running a React app that sends the uploaded file to an Express server which will handle the conversion process.


Code :


app.post('/upload', function async (req, res) {
const busboy = new Busboy({ headers: req.headers });
busboy.on('file', async function (fieldname, file, file, encoding, mimetype) {
 function makeid(length) {
 var result = '';
 var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
 var charactersLength = characters.length;
 for ( var i = 0; i < length; i++ ) {
 result += characters.charAt(Math.floor(Math.random() * charactersLength));
 }
 return result;
 }
 const NewFileName = 'Preview_' + date + ;
 const saveTo = `uploads/${NewFileName}`;
 function callback() {
 console.log(`1/2 generated video - ${saveTo}.mp4`);
 function callback2() {
 console.log(`2/2 generated video file - uploads/hls/${NewFileName}.m3u8`);
 }
 ffmpeg(`uploads/${NewFileName}.mp4`, { timeout: 432000 }).addOptions([
 '-profile:v baseline',
 '-level 3.0', 
 '-start_number 0', 
 '-hls_time 10', 
 '-hls_list_size 0', 
 '-f hls'
 ]).output(`uploads/hls/${NewFileName}.m3u8`).on('end', callback2).run();
 }
 ffmpeg(file, { timeout: 432000 }).addOptions([
 '-r 1/5',
 '-c:v libx264',
 '-vf fps=25',
 '-pix_fmt yuv420p',
 ]).output(`${saveTo}.mp4`).on('end', callback).run();
});



}) ;


-
FFmpeg image2pipe write buffer wait until done
20 décembre 2020, par Michael Joseph AubryI'm extracting frames from an external source and passing it in as a buffer to FFMPEG using
image2pipe
and-i -


const childProcess = spawn(ffmpeg, [
 "-y",
 "-f",
 "image2pipe",
 "-i",
 "-",
 "-vcodec",
 "libx264",
 "-pix_fmt",
 "yuv420p",
 output
]);



Then I have a loop that does the job.


for (let i = 0; i < 250; i++) {
 // ...await
}



Inside the promise


// ... do the job to get buffer

childProcess.stdin.write(frame); // frame === buffer

// frame done
resolve("success!");



The problem is in some videos the frames jump and is janky. This is because FFmpeg is not fully done writing to the file before moving onto the next frame.


Is there a way to write a buffer to a file through FFmpeg and make sure the frame is done writing before moving on ?


Some more information


Here is the source file https://s3.us-west-2.amazonaws.com/storycreator.v2.uploads/ckigi4kro00160vlfjmt74afp


Here is the rendered file https://s3.us-west-2.amazonaws.com/storycreator.testing/607715f0-3ab9-11eb-a139-3bb84618c6c5.mp4?t=1607585343922


Here are logs


2020-12-10T07:28:48.942Z 0ae0c435-54d3-416f-9d1a-8ddf595a7e83 INFO frame= 130 fps= 16 q=-1.0 Lsize= 83kB time=00:00:05.08 bitrate= 133.6kbits/s speed=0.641x video:80kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 2.928688%



2020-12-10T07:28:48.942Z 0ae0c435-54d3-416f-9d1a-8ddf595a7e83 INFO [libx264 @ 0x640d6c0] frame I:1 Avg QP:15.47 size: 68227[libx264 @ 0x640d6c0] frame P:33 Avg QP:15.07 size: 246[libx264 @ 0x640d6c0] frame B:96 Avg QP:18.75 size: 56[libx264 @ 0x640d6c0] consecutive B-frames: 1.5% 0.0% 0.0% 98.5%



2020-12-10T07:28:48.943Z 0ae0c435-54d3-416f-9d1a-8ddf595a7e83 INFO [libx264 @ 0x640d6c0] mb I I16..4: 24.6% 60.5% 14.9%[libx264 @ 0x640d6c0] mb P I16..4: 0.0% 0.2% 0.0% P16..4: 0.8% 0.0% 0.0% 0.0% 0.0% skip:98.9%[libx264 @ 0x640d6c0] mb B I16..4: 0.0% 0.0% 0.0% B16..8: 0.3% 0.0% 0.0% direct: 0.0% skip:99.7% L0:26.7% L1:73.3% BI: 0.0%[libx264 @ 0x640d6c0] 8x8 transform intra:62.0% inter:83.6%[libx264 @ 0x640d6c0] coded y,uvDC,uvAC intra: 49.2% 44.3% 32.1% inter: 0.0% 0.2% 0.0%[libx264 @ 0x640d6c0] i16 v,h,dc,p: 53% 38% 7% 2%[libx264 @ 0x640d6c0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 26% 24% 29% 3% 3% 3% 5% 3% 4%[libx264 @ 0x640d6c0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 37% 26% 14% 3% 4% 5% 4% 4% 3%[libx264 @ 0x640d6c0] i8c dc,h,v,p: 57% 27% 13% 3%[libx264 @ 0x640d6c0] Weighted P-Frames: Y:0.0% UV:0.0%[libx264 @ 0x640d6c0] ref P L0: 95.1% 1.2% 3.1% 0.6%[libx264 @ 0x640d6c0] ref B L0: 48.1% 51.3% 0.7%[libx264 @ 0x640d6c0] ref B L1: 97.3% 2.7%[libx264 @ 0x640d6c0] kb/s:125.75



2020-12-10T07:28:48.944Z 0ae0c435-54d3-416f-9d1a-8ddf595a7e83 INFO [cache @ 0x5f57940] Statistics, cache hits:0 cache misses:3551



-
Invalid data found when processing input. No start code is found
23 septembre 2020, par Alex BlokhaI am trying to concat video from many files.
But sometimes I receive an error : "Invalid data found when processing input".


So, I am trying to iterate over files with ffprobe and find invalid files.
Here is the error.


ffprobe started on 2020-06-28 at 16:06:39
Report written to "ffreport.log"
Log level: 32
Command line:
"f:\\prog\\ffmpeg\\bin\\ffprobe.exe" -i Rec496_20200423123337_A_1.avi
ffprobe version git-2020-03-23-ba698a2 Copyright (c) 2007-2020 the FFmpeg developers
 built with gcc 9.2.1 (GCC) 20200122
 configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --e
nable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrn
b --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-lib
soxr --enable-libsrt --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --e
nable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-l
ibvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-
libaom --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. 42.101 / 56. 42.101
 libavcodec 58. 76.100 / 58. 76.100
 libavformat 58. 42.100 / 58. 42.100
 libavdevice 58. 9.103 / 58. 9.103
 libavfilter 7. 77.100 / 7. 77.100
 libswscale 5. 6.101 / 5. 6.101
 libswresample 3. 6.100 / 3. 6.100
 libpostproc 55. 6.100 / 55. 6.100
[avi @ 000002510398e1c0] non-interleaved AVI
[h264 @ 00000251039a0480] missing picture in access unit with size 256
[extract_extradata @ 0000025103996740] No start code is found.
Rec496_20200423123337_A_1.avi: Invalid data found when processing input



Questions :


- 

- How can this be fixed, so I don't need to iterate with ffprobe and just use concat (command line : f :\prog\ffmpeg\bin\ffmpeg.exe -f concat -safe 0 -i mylist.txt -c copy output-xx.avi) ?
- If not, how can I receive an error in my .bat file and move "invalid" file to "Error" folder ?