Recherche avancée

Médias (0)

Mot : - Tags -/médias

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

Autres articles (25)

  • Dépôt de média et thèmes par FTP

    31 mai 2013, par

    L’outil MédiaSPIP traite aussi les média transférés par la voie FTP. Si vous préférez déposer par cette voie, récupérez les identifiants d’accès vers votre site MédiaSPIP et utilisez votre client FTP favori.
    Vous trouverez dès le départ les dossiers suivants dans votre espace FTP : config/ : dossier de configuration du site IMG/ : dossier des média déjà traités et en ligne sur le site local/ : répertoire cache du site web themes/ : les thèmes ou les feuilles de style personnalisées tmp/ : dossier de travail (...)

  • Les thèmes de MediaSpip

    4 juin 2013

    3 thèmes sont proposés à l’origine par MédiaSPIP. L’utilisateur MédiaSPIP peut rajouter des thèmes selon ses besoins.
    Thèmes MediaSPIP
    3 thèmes ont été développés au départ pour MediaSPIP : * SPIPeo : thème par défaut de MédiaSPIP. Il met en avant la présentation du site et les documents média les plus récents ( le type de tri peut être modifié - titre, popularité, date) . * Arscenic : il s’agit du thème utilisé sur le site officiel du projet, constitué notamment d’un bandeau rouge en début de page. La structure (...)

  • Contribute to documentation

    13 avril 2011

    Documentation is vital to the development of improved technical capabilities.
    MediaSPIP welcomes documentation by users as well as developers - including : critique of existing features and functions articles contributed by developers, administrators, content producers and editors screenshots to illustrate the above translations of existing documentation into other languages
    To contribute, register to the project users’ mailing (...)

Sur d’autres sites (4013)

  • avfilter/af_afftdn : unbreak custom band noise option processing

    15 mars 2022, par Paul B Mahol
    avfilter/af_afftdn : unbreak custom band noise option processing
    
    • [DH] libavfilter/af_afftdn.c
  • avutil/tests/channel_layout : test generating a custom layout using ambisonic channels...

    25 mars 2022, par James Almer
    avutil/tests/channel_layout : test generating a custom layout using ambisonic channels and a non diegetic channel with a custom name
    

    Should increase test coverage a bit

    Signed-off-by : James Almer <jamrial@gmail.com>

    • [DH] libavutil/tests/channel_layout.c
    • [DH] tests/ref/fate/channel_layout
  • 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 :

    &#xA;

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

    &#xA;

    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 ?

    &#xA;

    Code Here :

    &#xA;

    require("dotenv").config();&#xA;const axios = require("axios");&#xA;const concat = require("ffmpeg-concat");&#xA;const fluent = require("fluent-ffmpeg");&#xA;const fs = require("fs");&#xA;&#xA;const PEXELS_API_KEY = process.env.PEXELS_API_KEY;&#xA;&#xA;const SUBTOPIC = "animals";&#xA;&#xA;const URLBase = `https://api.pexels.com/videos/search?query=${SUBTOPIC}&amp;per_page=80&amp;size=medium&amp;orientation=landscape`;&#xA;let rVideos;&#xA;let videosToConcat = [];&#xA;let duration = 0;&#xA;let current = 0;&#xA;&#xA;const fetchVideos = async () => {&#xA;  const response = await axios.get(URLBase, {&#xA;    headers: {&#xA;      Authorization: PEXELS_API_KEY,&#xA;    },&#xA;  });&#xA;&#xA;  return response.data.videos;&#xA;};&#xA;&#xA;const writeVideoToDisc = async (videoObj) => {&#xA;  let found = false;&#xA;  videoObj.forEach(async (file, index) => {&#xA;    if (&#xA;      found === false &amp;&amp;&#xA;      file.quality === "hd" &amp;&amp;&#xA;      file.width === 1920 &amp;&amp;&#xA;      file.height === 1080 &amp;&amp;&#xA;      file.file_type === "video/mp4"&#xA;    ) {&#xA;      found = true;&#xA;      let writer = fs.createWriteStream("raw/" &#x2B; current &#x2B; ".mp4");&#xA;      let streamResponse = await axios({&#xA;        url: rVideos[current].video_files[index].link,&#xA;        method: "get",&#xA;        responseType: "stream",&#xA;      });&#xA;      streamResponse.data.pipe(writer);&#xA;      writer.on("finish", () => {&#xA;        console.log(`Download Done: ${current}`);&#xA;        fluent.ffprobe(`./raw/${current}.mp4`, (err, metadata) => {&#xA;          if (err) {&#xA;            console.error(err);&#xA;          } else {&#xA;            if (&#xA;              metadata.streams[0].width !== 1920 ||&#xA;              metadata.streams[0].height !== 1080&#xA;            ) {&#xA;              fs.unlink(`./raw/${current}.mp4`, (err) => {&#xA;                if (err) throw err;&#xA;                console.log("File deleted!");&#xA;              });&#xA;            } else {&#xA;              duration &#x2B;= rVideos[current].duration;&#xA;              videosToConcat.push(`./raw/${current}.mp4`);&#xA;              fs.appendFile(&#xA;                `./attribution/${SUBTOPIC}.txt`,&#xA;                `Owner: ${rVideos[current].user.name}; Owner URL: ${rVideos[current].user.url} \n`,&#xA;                function (err) {&#xA;                  if (err) throw err;&#xA;                  console.log(&#xA;                    `Saved &#x27;Owner: ${rVideos[current].user.name}; Owner URL: ${rVideos[current].user.url}&#x27; to ${SUBTOPIC}.txt`&#xA;                  );&#xA;                  if (duration &lt; 600) {&#xA;                    console.log(duration);&#xA;                    console.log(current);&#xA;                    current&#x2B;&#x2B;;&#xA;                    writeVideoToDisc(rVideos[current].video_files);&#xA;                  }&#xA;                }&#xA;              );&#xA;            }&#xA;          }&#xA;        });&#xA;      });&#xA;      writer.on("error", () => console.error("Error while dowloading video"));&#xA;    }&#xA;  });&#xA;};&#xA;&#xA;const main = async () => {&#xA;  rVideos = await fetchVideos();&#xA;  console.log(rVideos.length);&#xA;  await writeVideoToDisc(rVideos[current].video_files);&#xA;  console.log(videosToConcat);&#xA;  // concat videos together&#xA;};&#xA;&#xA;main();&#xA;

    &#xA;