
Recherche avancée
Autres articles (60)
-
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 (...) -
Les tâches Cron régulières de la ferme
1er décembre 2010, parLa gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
Le super Cron (gestion_mutu_super_cron)
Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...) -
Submit bugs and patches
13 avril 2011Unfortunately a software is never perfect.
If you think you have found a bug, report it using our ticket system. Please to help us to fix it by providing the following information : the browser you are using, including the exact version as precise an explanation as possible of the problem if possible, the steps taken resulting in the problem a link to the site / page in question
If you think you have solved the bug, fill in a ticket and attach to it a corrective patch.
You may also (...)
Sur d’autres sites (3060)
-
Boosting the video transcoding time with fluent-FFMPEG in cloud functions
6 juillet 2022, par Jaisurya NarayananI am trying to convert a webm video to mp4 format recorded using MediaRecorder API.I am using fluent-ffmpeg. Once the file has been uploaded to storage as webm , we will trigger a cloud function that will do the video transcoding. To provide source stream for ffmpeg, am passing the google bucket url as a source url.
The conversion works fine, but the problem that conversion time is very slower that it is taking 10 mins or more for longer(20-30 mins) and hd quality videos.


Due to this the cloud function max time out gets reached . Am using 2nd generation cloud functions ,i know that we can increase the max time out time upto 1 hour , but i feel it is not optimised way of handling this.Any help regarding the above issue on how to optimise conversion time would be highly appreciated.


I will attach the code that does the transcoding




import FfmpegCommand from 'fluent-ffmpeg';
import { path } from '@ffmpeg-installer/ffmpeg';
FfmpegCommand.setFfmpegPath(path);

function transcodeToMp4(sourceUrl,gcsDestFile){
return new Promise((resolve, reject) => {
 FfmpegCommand({source : sourceUrl}) // sourceUrl will be google bucket url
 .outputOptions('-c:v copy')
 .outputOptions('-b:a 1300k')
 .outputOptions('-f mp4')
 .outputOptions('-preset ultrafast')
 .outputOptions('-movflags frag_keyframe+empty_moov')
 .pipe(gcsFile.createWriteStream(),{end: true})
 .on('finish',()=>{
 resolve(success);
 })
 .on('error',(err)=>{
 reject(err);
 });
});

}







Thanks in Advance..


-
Video Concat using ffmpeg [closed]
17 juin 2022, par Milan K Jainffmpeg -i url1 -i url2 -i url3 -i url4 -filter_complex "[0:v:0]scale=1920:1080[c1] ; [1:v:0]scale=1920:1080[c2] ; [2:v:0]scale=1920:1080[c3] ; [3:v:0]scale=1920:1080[c4], [c1] [0:a:0] [c2] [1:a:0] [c3] [2:a:0] [c4] [3:a:0] concat=n=4:v=1:a=1 [v] [a]" -map "[v]" -map "[a]" /Users/myname/Downloads/f1-2017-07-12.mp4 -y


In Place of url I want to give link U get from after storing my video in amazon s3 bucket
Someone pls help


-
Format video to upload on instagram API (Nodejs)
6 octobre 2022, par Rafael de CarvalhoI'm trying to automate the process of posting photos and videos on instagram but I constantly get errors when uploading to instagram.


I will leave a video duration error here but several others happen, I need to follow the following requirements :


- 

- Container : MOV or MP4 (MPEG-4 Part 14), no edit lists, atom moov in front of file
- Audio codec : AAC, 48 kHz maximum sampling rate, 1 or 2 channel (mono or stereo)
- Video codec : HEVC or H.264, progressive scan, closed GOP, 4:2:0 chroma subsampling
- Frame rate : from 23 to 60 FPS
- photo size :

- 

- Maximum columns (horizontal pixels) : 1,920
- Minimum aspect ratio [columns/rows] : 4/5
- Maximum aspect ratio [columns/rows] : 9/16








- Video bitrate : 5Mbps maximum VBR
- Audio bitrate : 128 kbps
- Duration : maximum 60 seconds and minimum 3 seconds
- File size : max 100 MB




















My code :


import { S3 } from 'aws-sdk';
import { IgApiClient } from 'instagram-private-api';
import fs from 'fs';

const s3 = new S3();
const ig = new IgApiClient();
const bucket = 'posts';
const { INSTA_USER, INSTA_PASS } = process.env;

ig.state.generateDevice(INSTA_USER);

export const main = async () => {
 try {
 await ig.account.login(INSTA_USER, INSTA_PASS);

 const { Contents } = await s3.listObjectsV2({ Bucket: bucket, MaxKeys: 2, Prefix: 'memes/geral' }).promise();

 const files = await Promise.all(Contents.map(async ({ Key }) => {
 const file = await s3.getObject({
 Bucket: bucket,
 Key,
 }).promise();

 return file.Body;
 }));

 const publishResult = await ig.publish.video({
 video: files[0],
 coverImage: await fs.readFileAsync("../../src/assets/cover.png")
 });

 console.dir({ publishResult }, { depth: null })
 } catch (error) {
 console.error(error);
 throw error;
 }
}



When I get a file from s3, it comes in the following format.
I'm taking the content of the body property and put it in the video property of the publish method.
Is it right ?
I also tried to save the file with fs.writeFile and dps use readFileSync like in the example but it also gave the same error.


{
 AcceptRanges: 'bytes',
 LastModified: 2022-08-04T23:15:24.000Z,
 ContentLength: 3252472,
 ETag: '"c491cfe2fb5bc29777fc34391fc1d56a"',
 ContentType: 'application/octet-stream',
 Body: Buffer(3252472) [Uint8Array] [
 0, 0, 0, 32, 102, 116, 121, 112, 105, 115, 111, 109,
 0, 0, 2, 0, 105, 115, 111, 109, 105, 115, 111, 50,
 97, 118, 99, 49, 109, 112, 52, 49, 0, 0, 209, 0,
 109, 111, 111, 118, 0, 0, 0, 108, 109, 118, 104, 100,
 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 0, 0, 3, 232, 0, 0, 250, 17, 0, 1, 0, 0,
 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
 0, 0, 0, 0,
 ... 3252372 more items
 ]
 }



Error :


{
 "errorMessage": "POST /api/v1/media/upload_finish/?video=1 - 400 Bad Request; server processing error: VideoSourceDurationCheckException",
 "errorType": "IgUploadVideoError",
 "stackTrace": [
 "IgUploadVideoError: POST /api/v1/media/upload_finish/?video=1 - 400 Bad Request; server processing error: VideoSourceDurationCheckException",
 " at C:\\Users\\User\\Desktop\\dev\\Insta\\.webpack\\service\\src\\functions\\webpack:\\instagram-private-api\\dist\\services\\publish.service.js:26:1", 
 " at tryCatcher (C:\\Users\\User\\Desktop\\dev\\Insta\\.webpack\\service\\src\\functions\\webpack:\\bluebird\\js\\release\\util.js:16:1)"
}



when I try to post a video under 60 seconds (apparently within the requirements) :


{
 "errorMessage": "POST /api/v1/media/configure/?video=1 - 403 Forbidden; ",
 "errorType": "IgConfigureVideoError",
 "stackTrace": [
 "IgConfigureVideoError: POST /api/v1/media/configure/?video=1 - 403 Forbidden; ",
 " at PublishService.video (C:\\Users\\User\\Desktop\\dev\\Insta\\.webpack\\service\\src\\functions\\webpack:\\instagram-private-api\\dist\\services\\publish.service.js:123:1)", 
 " at C:\\Users\\User\\Desktop\\dev\\Insta\\.webpack\\service\\src\\functions\\webpack:\\src\\functions\\cronFreefireMemes.js:71:31",
 " at async Promise.all (index 1)",
 " at main (C:\\Users\\User\\Desktop\\dev\\Insta\\.webpack\\service\\src\\functions\\webpack:\\src\\functions\\cronFreefireMemes.js:47:5)"
 ]
}



I know that the error above is happening because of the size of the video which is longer than 60 seconds.


But I would like to know if there is any way I can format any video to fit the instagram requirements.


Any nodejs library ?