
Recherche avancée
Médias (1)
-
Video d’abeille en portrait
14 mai 2011, par
Mis à jour : Février 2012
Langue : français
Type : Video
Autres articles (103)
-
Encoding and processing into web-friendly formats
13 avril 2011, parMediaSPIP automatically converts uploaded files to internet-compatible formats.
Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
All uploaded files are stored online in their original format, so you can (...) -
Les formats acceptés
28 janvier 2010, parLes commandes suivantes permettent d’avoir des informations sur les formats et codecs gérés par l’installation local de ffmpeg :
ffmpeg -codecs ffmpeg -formats
Les format videos acceptés en entrée
Cette liste est non exhaustive, elle met en exergue les principaux formats utilisés : h264 : H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 m4v : raw MPEG-4 video format flv : Flash Video (FLV) / Sorenson Spark / Sorenson H.263 Theora wmv :
Les formats vidéos de sortie possibles
Dans un premier temps on (...) -
Gestion de la ferme
2 mars 2010, parLa ferme est gérée dans son ensemble par des "super admins".
Certains réglages peuvent être fais afin de réguler les besoins des différents canaux.
Dans un premier temps il utilise le plugin "Gestion de mutualisation"
Sur d’autres sites (7646)
-
download rtmp live stream video secondly
15 juillet 2024, par Chenguang HeI'm working on a java project to create a rtmp server and download the real-time flv video every second(need to download multiple recording frame secondly instead of download entire recording after live stream finished)
This is my logic, firstly listen to the rtmp channel to write video and audio into file


if(msg instanceof VideoMessage vm){
byteArrayOutputStream = new ByteArrayOutputStream();
 byteArrayOutputStream.writeBytes(vm.getVideoData());
 File file = new File("tmp/video_" + i);
 FileOutputStream fos = new FileOutputStream(file);
 fos.write(byteArrayOutputStream.toByteArray());
 fos.close();

}



Then decode to H264 to get playable flv file


FFmpegFrameGrabber grabber = new FFmpegFrameGrabber(input);
grabber.setFormat("h264");
 grabber.start();
FFmpegFrameRecorder recorder = new FFmpegFrameRecorder(outputFilePath, grabber.getImageWidth(), grabber.getImageHeight());
recorder.start();
while ((frame = grabber.grab()) != null) {
 recorder.record(frame);
 }
grabber.stop();
 grabber.release();
 recorder.stop();
 recorder.release();
}



But this login was failed. I met this issue when I implemented the ffmpeg


data partitioning is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.



Is there any other idea to solve this or other way to achieve the logic ? Thanks


-
Attempting to use recursion, why does my code only download 4 videos and exit ?
16 avril 2024, par Andrew AtwoodI am attempting to download videos from an API that I have access to. This should loop through all of the videos that were returned from the API call, save them to disc, use ffmpeg to verify the meta data from the API (this step is necessary because the API is sometimes returning incorrect information), then save attribution information and continue on if no error. However, my output from the below code is simple this :


[]
Download Done: 0
Saved 'Owner: Anthony �; Owner URL: https://www.pexels.com/@inspiredimages' to animals.txt 
13
0
Download Done: 1
Saved 'Owner: PMA; Owner URL: https://www.pexels.com/@pma-1470250' to animals.txt
35
1
Download Done: 2
Saved 'Owner: Pressmaster; Owner URL: https://www.pexels.com/@pressmaster' to animals.txt 
65
2
Download Done: 3
Saved 'Owner: Ruvim Miksanskiy; Owner URL: https://www.pexels.com/@digitech' to animals.txt 
75
3



No errors, no exit code. Just stops running. I've walked through the process in my head a few times, and I can't figure out why it only gets called 4 times. Would anyone have any insight as to where I could try troubleshooting ?


Code Here :


require("dotenv").config();
const axios = require("axios");
const concat = require("ffmpeg-concat");
const fluent = require("fluent-ffmpeg");
const fs = require("fs");

const PEXELS_API_KEY = process.env.PEXELS_API_KEY;

const SUBTOPIC = "animals";

const URLBase = `https://api.pexels.com/videos/search?query=${SUBTOPIC}&per_page=80&size=medium&orientation=landscape`;
let rVideos;
let videosToConcat = [];
let duration = 0;
let current = 0;

const fetchVideos = async () => {
 const response = await axios.get(URLBase, {
 headers: {
 Authorization: PEXELS_API_KEY,
 },
 });

 return response.data.videos;
};

const writeVideoToDisc = async (videoObj) => {
 let found = false;
 videoObj.forEach(async (file, index) => {
 if (
 found === false &&
 file.quality === "hd" &&
 file.width === 1920 &&
 file.height === 1080 &&
 file.file_type === "video/mp4"
 ) {
 found = true;
 let writer = fs.createWriteStream("raw/" + current + ".mp4");
 let streamResponse = await axios({
 url: rVideos[current].video_files[index].link,
 method: "get",
 responseType: "stream",
 });
 streamResponse.data.pipe(writer);
 writer.on("finish", () => {
 console.log(`Download Done: ${current}`);
 fluent.ffprobe(`./raw/${current}.mp4`, (err, metadata) => {
 if (err) {
 console.error(err);
 } else {
 if (
 metadata.streams[0].width !== 1920 ||
 metadata.streams[0].height !== 1080
 ) {
 fs.unlink(`./raw/${current}.mp4`, (err) => {
 if (err) throw err;
 console.log("File deleted!");
 });
 } else {
 duration += rVideos[current].duration;
 videosToConcat.push(`./raw/${current}.mp4`);
 fs.appendFile(
 `./attribution/${SUBTOPIC}.txt`,
 `Owner: ${rVideos[current].user.name}; Owner URL: ${rVideos[current].user.url} \n`,
 function (err) {
 if (err) throw err;
 console.log(
 `Saved 'Owner: ${rVideos[current].user.name}; Owner URL: ${rVideos[current].user.url}' to ${SUBTOPIC}.txt`
 );
 if (duration < 600) {
 console.log(duration);
 console.log(current);
 current++;
 writeVideoToDisc(rVideos[current].video_files);
 }
 }
 );
 }
 }
 });
 });
 writer.on("error", () => console.error("Error while dowloading video"));
 }
 });
};

const main = async () => {
 rVideos = await fetchVideos();
 console.log(rVideos.length);
 await writeVideoToDisc(rVideos[current].video_files);
 console.log(videosToConcat);
 // concat videos together
};

main();



-
the problem using "yt-dlp —download-sections" [closed]
15 avril 2024, par talentI tried to use "yt-dlp —download-sections" to download specific segment of YouTube video.


But I have confronted some error.


If I use the cammand as followed, it will be ok, and download the whole video successfully.


yt-dlp -P [path] [URL]



But, if I add the "—download-sections" to download specific segment, it seems something wrong.
the command is as followed.


yt-dlp -P [path] --download-sections "*00:08:06-00:08:17" https://www.youtube.com/watch?v=6Vkmb4cUuLs 





Plus, the operation system is Windows. And I have used vpn(proxy).




I'd be tremendously appreciated if anyone can give me the early response to solve it !!!