
Recherche avancée
Médias (3)
-
MediaSPIP Simple : futur thème graphique par défaut ?
26 septembre 2013, par
Mis à jour : Octobre 2013
Langue : français
Type : Video
-
GetID3 - Bloc informations de fichiers
9 avril 2013, par
Mis à jour : Mai 2013
Langue : français
Type : Image
-
GetID3 - Boutons supplémentaires
9 avril 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Image
Autres articles (60)
-
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 (...) -
Creating farms of unique websites
13 avril 2011, parMediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...) -
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
Sur d’autres sites (11168)
-
ffmpeg for x264 core 136 lib in iOS [closed]
23 août 2013, par 官承翰I want to develop a service (written in php) to provide mobile platforms(iOS/android/..etc) or desktop PCs to stream videos.
I have tried a lot and found.
My iPhone4 didn't support core 136 lib based on x264...it would crash or freeze when I tried playing it.
Here is my question :
Can ffmpeg decode video so that iOS can play ?
Or is there another way to solve it ?
I am new to these things...Thanks in advance
-
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 ?


-
Conversion to yuv422p pixel format is incorrect
13 mars 2023, par SOSparachuter1The setup :


- 

-
A camera that live streams h.264 encoded video via RTSP


-
An Android app that uses FFMPEG to grab H.264 packet fragments, convert it to mjpeg frames with pixel format yuv422.


-
A separate app that receives said jpeg images over udp, expects them to be in yuv422 pixel format, and displays the stream.










The bridge between all these components work perfectly, #2 gets frames and sends it to #3, and #3 verifies it receives. However, #3 would not display, and so upon closer inspection of the packets it receives, I discovered in the jpeg image header for every packet that the horizontal-vertical subsampling factor was not what is expected for YUV422. It's 0x22, despite the fact that for YUV422 we should expect halved horizontal chroma resolution (so we should expect 0x21)


This is the ffmpeg command I use :


ffmpeg -i rtsp://****:*** -vcodec mjpeg -pix_fmt yuv422p -f mjpeg udp://*******


What could be going on ? Does the default codec just not support this conversion ?


-