
Recherche avancée
Médias (29)
-
#7 Ambience
16 octobre 2011, par
Mis à jour : Juin 2015
Langue : English
Type : Audio
-
#6 Teaser Music
16 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#5 End Title
16 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#3 The Safest Place
16 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#4 Emo Creates
15 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#2 Typewriter Dance
15 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
Autres articles (84)
-
Mediabox : ouvrir les images dans l’espace maximal pour l’utilisateur
8 février 2011, parLa visualisation des images est restreinte par la largeur accordée par le design du site (dépendant du thème utilisé). Elles sont donc visibles sous un format réduit. Afin de profiter de l’ensemble de la place disponible sur l’écran de l’utilisateur, il est possible d’ajouter une fonctionnalité d’affichage de l’image dans une boite multimedia apparaissant au dessus du reste du contenu.
Pour ce faire il est nécessaire d’installer le plugin "Mediabox".
Configuration de la boite multimédia
Dès (...) -
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs -
D’autres logiciels intéressants
12 avril 2011, parOn ne revendique pas d’être les seuls à faire ce que l’on fait ... et on ne revendique surtout pas d’être les meilleurs non plus ... Ce que l’on fait, on essaie juste de le faire bien, et de mieux en mieux...
La liste suivante correspond à des logiciels qui tendent peu ou prou à faire comme MediaSPIP ou que MediaSPIP tente peu ou prou à faire pareil, peu importe ...
On ne les connais pas, on ne les a pas essayé, mais vous pouvez peut être y jeter un coup d’oeil.
Videopress
Site Internet : (...)
Sur d’autres sites (3480)
-
Video Editing using HTML, CSS and Javascript [closed]
9 février 2018, par Shrujan ShettyI need to edit a video using
HTML5
andJavascript
only. Noflash
orffmpeg
. I need to add title boards, background audio, (transitions, bumpers), borders etc.I have tried
popcorn.js
but it uses CSS only and does not actually edit the video. I have even experimented with ffmpeg. FFmpeg gets the job done but takes a lot of time. -
Ffmpeg compression cron cutting video to 1 second
6 août 2022, par BlackThornI have a cron setup to take locally uploaded videos, create a screengrab, compress the video and upload to online storage. I am using ffmpeg with php and have tried a few different ways but though it does compress the file size I keep getting a saved file of just the first second of the video. I tried delaying the process in case it just didn't have enough time to do the video and that was the cause but it didn't seem to do much. Here are some of the examples of the code I've tried all together (commented out as tried each but you can see the different ways) :


try {
 // compress video if needed
 $bitrate = "5000k";
 // $command = "ffmpeg -i ".($temp_dir."/".$folder."/".$sub_file)." -b:v $bitrate -bufsize $bitrate ".$temp_dir."/".$folder."/edit-".$sub_file;
 // $command = "ffmpeg -i $temp_video -qscale 0 ".$temp_dir."/".$folder."/edit-".$sub_file;
 $command = "ffmpeg -i ".($temp_dir."/".$folder."/".$sub_file)." -vf scale=1280:-1 -c:v libx264 -preset veryslow -crf 24 ".$temp_dir."/".$folder."/edit-".$sub_file;
 //system($command);
 $output=null;
 $retval=null;
 exec($command, $output, $retval);
 $temp_video = $temp_dir."/".$folder."/edit-".$sub_file."";
} catch (Exception $e) {
 // log output
}



Is there a known issue with this or something I'm missing ?


Thanks


-
Cannot find a matching stream for unlabeled input pad 0 on filter Parsed_split_0
26 mars 2023, par VenoMSo I'm using ytdl-core & ffmpeg to convert some videos from YouTube to MP4 and then manipulate them in a way or take screenshots. But the issue I'm facing is - some videos are downloaded and are completely playable, but others are corrupt.


This is the error I get when I try to take screenshot of the corrupted video :




Error : ffmpeg exited with code 1 : Cannot find a matching stream for unlabeled input pad 0 on filter Parsed_split_0




And obviously, error is there because the video is corrupted, but WHY is that the case ?


Here's my code (read TL ;DR below) :


router.post("/screenshot", async (req, res) => {
 const urlToScreenshot = req.body.url;
 const timestamp = parseInt(req.body.t, 10);
 const YouTubeURL = `https://youtube.com/watch?v=${urlToScreenshot}`;
 const filename = uuidv4();

 const videoPath = `${filePath}/${filename}.mp4`;

 const downloadStartTime = timestamp - 3;
 const downloadEndTime = timestamp + 3;

 const videoStream = ytdl(YouTubeURL, {
 quality: "highest",
 });

 const ffmpegCommand = ffmpeg(videoStream)
 .setStartTime(downloadStartTime)
 .duration(downloadEndTime - downloadStartTime)
 .outputOptions("-c:v", "libx264")
 .outputOptions("-c:a", "copy")
 .outputOptions("-b:v", "10M")
 .outputOptions("-filter:v", "scale=1920:1080")
 .outputOptions("-q:v", "1")
 .outputOptions("-reconnect", "1") // enable reconnection attempts
 .outputOptions("-ignore_io_errors", "1") // ignore input/output errors
 .on("end", async () => {
 console.log("Video downloaded successfully: " + videoPath);

 const screenshotPath = `${filePath}/${filename}.png`;
 ffmpeg(videoPath)
 .screenshots({
 count: 1,
 timemarks: ["1"],
 folder: filePath,
 filename: `${filename}.png`,
 })
 .on("end", async () => {
 console.log(`Screenshot saved successfully: ${screenshotPath}`);
 try {
 const cloudinaryResult = await cloudinary.uploader.upload(
 screenshotPath
 );
 const screenshotUrl = cloudinaryResult.secure_url;
 console.log(`Screenshot uploaded to Cloudinary: ${screenshotUrl}`);
 // await unlink(videoPath);
 console.log(`Video file deleted: ${videoPath}`);
 // await unlink(screenshotPath);
 console.log(`Screenshot file deleted: ${screenshotPath}`);
 res.status(200).json({ screenshotUrl });
 } catch (err) {
 console.error(
 "An error occurred while uploading the screenshot to Cloudinary:",
 err
 );
 // await unlink(videoPath);
 // await unlink(screenshotPath);
 res.status(500).send("Internal Server Error");
 }
 })
 .on("error", async (err) => {
 console.error("An error occurred while taking the screenshot:", err);
 // await unlink(videoPath);
 // await unlink(screenshotPath);
 res.status(500).send("Internal Server Error");
 });
 })
 .on("error", async (err) => {
 console.error("An error occurred while downloading the video:", err);
 await unlink(videoPath); // delete the file on error
 res.status(500).send("Internal Server Error");
 })
 .save(videoPath);

 // console.log(ffmpegCommand);
});



Code Summary : Basically I'm passing the videoID and timestamp (because I want to download a certain section of the video, not the whole video), it downloads the video, then takes a screenshot of the video at a certain timestamp (i.e 1st second) and sends the screenshot to Cloudinary (a cloud file storage).


This works fine for 50% of the videos I've tried, but doesn't for other videos.


Here's a picture of a corrupt video and a working video.








Some help would be greatly appreciated !