
Recherche avancée
Médias (1)
-
Somos millones 1
21 juillet 2014, par
Mis à jour : Juin 2015
Langue : français
Type : Video
Autres articles (56)
-
Support de tous types de médias
10 avril 2011Contrairement à beaucoup de logiciels et autres plate-formes modernes de partage de documents, MediaSPIP a l’ambition de gérer un maximum de formats de documents différents qu’ils soient de type : images (png, gif, jpg, bmp et autres...) ; audio (MP3, Ogg, Wav et autres...) ; vidéo (Avi, MP4, Ogv, mpg, mov, wmv et autres...) ; contenu textuel, code ou autres (open office, microsoft office (tableur, présentation), web (html, css), LaTeX, Google Earth) (...)
-
Supporting all media types
13 avril 2011, parUnlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)
-
Changer son thème graphique
22 février 2011, parLe thème graphique ne touche pas à la disposition à proprement dite des éléments dans la page. Il ne fait que modifier l’apparence des éléments.
Le placement peut être modifié effectivement, mais cette modification n’est que visuelle et non pas au niveau de la représentation sémantique de la page.
Modifier le thème graphique utilisé
Pour modifier le thème graphique utilisé, il est nécessaire que le plugin zen-garden soit activé sur le site.
Il suffit ensuite de se rendre dans l’espace de configuration du (...)
Sur d’autres sites (9806)
-
Nodejs ffmpeg "The input file path can not be empty" error, but files exist
29 octobre 2022, par 0sziI'm trying to merge an audio file with a video file from the same source (Youtube)


In the following code I first read in the console parameters wirh commander then i define the videoOutput dir and download the highset res. video from youtube with node-ytdl-core. After that I download the audio for the video. and in the callback of the video.on("end", ....)
i call the function merge()


const path = require('path');
const fs = require('fs');
const readline = require("readline");
const ytdl = require('ytdl-core');
const { program } = require('commander');
const ffmpeg = require('ffmpeg');

program
 .option("--url, --url <url>", "Youtube video url")
 .option("--name, --name <name>", "Name of the video in hard drive")

program.parse(process.argv);


const options = program.opts();
let url = options.url;
let name = options.name;

let videoOutput = path.resolve(`./video${name}.mp4`);

let video = ytdl(url, {
 quality: "highestvideo"
});

let starttime = 0;

video.pipe(fs.createWriteStream(videoOutput));

video.once('response', () => {
 starttime = Date.now();
});

video.on('progress', (chunkLength, downloaded, total) => {
 const percent = downloaded / total;
 const downloadedMinutes = (Date.now() - starttime) / 1000 / 60;
 const estimatedDownloadTime = (downloadedMinutes / percent) - downloadedMinutes;
 readline.cursorTo(process.stdout, 0);
 process.stdout.write(`${(percent * 100).toFixed(2)}% downloaded `);
 process.stdout.write(`(${(downloaded / 1024 / 1024).toFixed(2)}MB of ${(total / 1024 / 1024).toFixed(2)}MB)\n`);
 process.stdout.write(`running for: ${downloadedMinutes.toFixed(2)}minutes`);
 process.stdout.write(`, estimated time left: ${estimatedDownloadTime.toFixed(2)}minutes `);
 readline.moveCursor(process.stdout, 0, -1);
 });

 video.on('end', () => {
 process.stdout.write('\n\n');
 });


// repeat for audio
video = ytdl(url, {
 quality: "highestaudio"
});
 
starttime = 0;

let audioOutput = path.resolve(`./audio${name}.mp3`);

video.pipe(fs.createWriteStream(audioOutput));

video.once('response', () => {
 starttime = Date.now();
});

video.on('progress', (chunkLength, downloaded, total) => {
 const percent = downloaded / total;
 const downloadedMinutes = (Date.now() - starttime) / 1000 / 60;
 const estimatedDownloadTime = (downloadedMinutes / percent) - downloadedMinutes;
 readline.cursorTo(process.stdout, 0);
 process.stdout.write(`${(percent * 100).toFixed(2)}% downloaded `);
 process.stdout.write(`(${(downloaded / 1024 / 1024).toFixed(2)}MB of ${(total / 1024 / 1024).toFixed(2)}MB)\n`);
 process.stdout.write(`running for: ${downloadedMinutes.toFixed(2)}minutes`);
 process.stdout.write(`, estimated time left: ${estimatedDownloadTime.toFixed(2)}minutes `);
 readline.moveCursor(process.stdout, 0, -1);
 });


function merge(){
 ffmpeg()
 .input("./videotest.mp4") //your video file input path
 .input("./audiotest.mp3") //your audio file input path
 .output("./finished.mp4") //your output path
 .outputOptions(['-map 0:v', '-map 1:a', '-c:v copy', '-shortest'])
 .on('start', (command) => {
 console.log('TCL: command -> command', command)
 })
 .on('error', (error) => console.log("errrrr",error))
 .on('end',()=>console.log("Completed"))
 .run() 
}

video.on('end', () => {
 process.stdout.write('\n\n');
 merge();
});

</name></url>


But even though the files are there ffmpeg throws me this error :



I also tried this in the video-end callback, because maybe the audio is finished downloading before the video, still doesn't work. I've also tried to rename the outputDirs for the files and keep the old files and rerun the script so the files are 100% there. Still doesn't work.


I have also tried absolute paths ("C :/..." also with backslash "C :\...") but I still get the error message that the input file path can't be empty.


Appreciate any piece of advise or help !


-
ffmpeg error "Output file is empty, nothing was encoded" when trying to increase the tempo (speed up) mp3 file
28 octobre 2022, par rasoolZeroI'm trying to increase the tempo of an mp3 file using ffmpeg and atempo filter, but always get "Output file is empty, nothing was encoded"


this is the output log


ffmpeg version 4.3.1 Copyright (c) 2000-2020 the FFmpeg developers
 built with gcc 10.2.1 (GCC) 20200726
 configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libsrt --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libgsm --disable-w32threads --enable-libmfx --enable-ffnvcodec --enable-cuda-llvm --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf
 libavutil 56. 51.100 / 56. 51.100
 libavcodec 58. 91.100 / 58. 91.100
 libavformat 58. 45.100 / 58. 45.100
 libavdevice 58. 10.100 / 58. 10.100
 libavfilter 7. 85.100 / 7. 85.100
 libswscale 5. 7.100 / 5. 7.100
 libswresample 3. 7.100 / 3. 7.100
 libpostproc 55. 7.100 / 55. 7.100
[mp3 @ 0000023bf37fdbc0] Estimating duration from bitrate, this may be inaccurate
Input #0, mp3, from 'normal.mp3':
 Metadata:
 encoder : Lavf58.65.100
 Duration: 00:00:05.93, start: 0.000000, bitrate: 32 kb/s
 Stream #0:0: Audio: mp3, 22050 Hz, mono, fltp, 32 kb/s
Stream mapping:
 Stream #0:0 -> #0:0 (mp3 (mp3float) -> mp3 (mp3_mf))
Press [q] to stop, [?] for help
[mp3_mf @ 0000023bf3822880] MFT name: 'MP3 Encoder ACM Wrapper MFT'
Output #0, mp3, to 'faster.mp3':
 Metadata:
 TSSE : Lavf58.45.100
 Stream #0:0: Audio: mp3 (mp3_mf), 22050 Hz, mono, s16, 128 kb/s
 Metadata:
 encoder : Lavc58.91.100 mp3_mf
size= 0kB time=00:00:05.42 bitrate= 0.7kbits/s speed= 116x
video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used)



this is the command I'm using

ffmpeg -i normal.mp3 -af "atempo=1.1" faster.mp3


-
avcodec/aacdectab : Remove empty channel layouts
26 septembre 2022, par Andreas Rheinhardtavcodec/aacdectab : Remove empty channel layouts
They will be mistaken for the sentinel of the arrays
they are in, thereby hiding the 6.1, 7.1 and 22.2 layouts.
(This doesn't really matter, as these arrays are informational
only for decoders.)Signed-off-by : Andreas Rheinhardt <andreas.rheinhardt@outlook.com>