Recherche avancée

Médias (0)

Mot : - Tags -/metadatas

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (51)

  • Keeping control of your media in your hands

    13 avril 2011, par

    The vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
    While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
    MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
    MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...)

  • Submit bugs and patches

    13 avril 2011

    Unfortunately 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 (...)

  • Creating farms of unique websites

    13 avril 2011, par

    MediaSPIP 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" (...)

Sur d’autres sites (6408)

  • Attempting to use recursion, why does my code only download 4 videos and exit ?

    16 avril 2024, par Andrew Atwood

    I 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();


    


  • Mp3 streaming still download in progress

    10 mars 2018, par edadam

    I have streaming an mp3 file, from my server, while that’s not fully downloaded for the server. The client detects just the already downloaded audio length. How can I show the original length, if I know that ? Can I write it as id3 tag, for example ?

    Server : Debian, Lighttpd, Ffmpeg, bash cgi

  • Prep for next release : HTML5, homepage + stylistic updates, source code order change for API docs (CTRL-F search now hits left column first)

    4 juillet 2011

    + demo/_image/wheelsofsteel-single-deck-256.jpg m demo/index.css m doc/index.html m index.html Prep for next release : HTML5, homepage + stylistic updates, source code order change for API docs (CTRL-F search now hits left column (...)