
Recherche avancée
Médias (91)
-
Richard Stallman et le logiciel libre
19 octobre 2011, par
Mis à jour : Mai 2013
Langue : français
Type : Texte
-
Stereo master soundtrack
17 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Audio
-
Elephants Dream - Cover of the soundtrack
17 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Image
-
#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
Autres articles (26)
-
MediaSPIP v0.2
21 juin 2013, parMediaSPIP 0.2 est la première version de MediaSPIP stable.
Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...) -
Les tâches Cron régulières de la ferme
1er décembre 2010, parLa gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
Le super Cron (gestion_mutu_super_cron)
Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...) -
Mise à disposition des fichiers
14 avril 2011, parPar défaut, lors de son initialisation, MediaSPIP ne permet pas aux visiteurs de télécharger les fichiers qu’ils soient originaux ou le résultat de leur transformation ou encodage. Il permet uniquement de les visualiser.
Cependant, il est possible et facile d’autoriser les visiteurs à avoir accès à ces documents et ce sous différentes formes.
Tout cela se passe dans la page de configuration du squelette. Il vous faut aller dans l’espace d’administration du canal, et choisir dans la navigation (...)
Sur d’autres sites (3329)
-
curl | tar - gzip : stdin : not in gzip format
17 avril 2021, par Jonathan OngI'm trying to install ffmpeg on travis with this command :



curl http://johnvansickle.com/ffmpeg/releases/ffmpeg-release-64bit-static.tar.xz | tar -C /usr/local/bin/ -xvz




I get this error :



$ curl http://johnvansickle.com/ffmpeg/releases/ffmpeg-release-64bit-static.tar.xz | tar -C /usr/local/bin/ -xvz
 % Total % Received % Xferd Average Speed Time Time Time Current
 Dload Upload Total Spent Left Speed
 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
gzip: stdin: not in gzip format
tar: Child died with signal 13
tar: Error is not recoverable: exiting now
The command "curl http://johnvansickle.com/ffmpeg/releases/ffmpeg-release-64bit-static.tar.xz | tar -C /usr/local/bin/ -xvz" failed and exited with 2 during .




however, it works locally on OS X. what's going on ?


-
Piping stream to ffmpeg via forked process stdin
6 novembre 2019, par Yanick SalzmannI am piping data from my raspberry pi camera to ffmpeg to convert them into an mp4 stream. I do so not with libavformat/libavformat but I call
ffmpeg
directly like this :context->ffmpeg_process = utils::launch_subprocess(
"ffmpeg",
{"-f", "rawvideo", "-pix_fmt", "yuv420p", "-s", "1920x1080", "-r", "30", "-i", "-", "-c", "libx264", "-f", "mp4", "-movflags", "frag_keyframe+empty_moov", "-", "-loglevel", "trace"}
);This is my wrapper around fork and exec like this :
const auto child = fork();
if(child == 0) {
if (dup2(stdin_pipe[PIPE_READ], STDIN_FILENO) == -1) {
exit(errno);
}
// same for stdout and sterr
execvp(command.c_str(), proc_args);
exit(errno);
} else if(child > 0) {
// same for stdout and stderr
ret_process.stdin_pipe = stdin_pipe[PIPE_WRITE];
}Now I have a callback that is called by the raspberry pi camera :
void CameraHandler::handle_camera_frame(const std::vector &data, std::size_t size) {
FILE* f = fopen("output.yuv4", "ab");
fwrite(data.data(), 1, size, f);
fclose(f);
std::lock_guard l{_listener_lock};
for (const auto &listener : _data_listeners) {
std::size_t written = 0;
while (written < size) {
const auto num_written = write(listener->ffmpeg_process.stdin_pipe, data.data() + written, size - written);
written += num_written;
if(num_written < 0) {
log->error("Broken stdin pipe");
break;
}
}
}
}I deliberately append every frame to a file because I am running the exact same command as above (with
cat output.yuv4 | ffmpeg ... > output4.mp4
to cross check).Now I can see that I am reading some data from my camera and pushing it to the ffmpeg process. But already after the first read ffmpeg complains, that the input data is invalid :
[2019-11-06 20:08:04.010] [11872:11932] [carpi::data::CameraHandler] [info] Launched ffmpeg process. PID: 11933, error: 0
[2019-11-06 20:08:04.014] [11872:11932] [carpi::video::RawCameraStream] [info] Camera dimension: 1920/1080
ffmpeg version 4.1.4-1+rpt1~deb10u1 Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 8 (Raspbian 8.3.0-6+rpi1)
configuration: --prefix=/usr --extra-version='1+rpt1~deb10u1' --toolchain=hardened --libdir=/usr/lib/arm-linux-gnueabihf --incdir=/usr/include/arm-linux-gnueabihf --arch=arm --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-omx-rpi --enable-mmal --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
libavutil 56. 22.100 / 56. 22.100
libavcodec 58. 35.100 / 58. 35.100
libavformat 58. 20.100 / 58. 20.100
libavdevice 58. 5.100 / 58. 5.100
libavfilter 7. 40.101 / 7. 40.101
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 3.100 / 5. 3.100
libswresample 3. 3.100 / 3. 3.100
libpostproc 55. 3.100 / 55. 3.100
Successfully parsed a group of options.
Parsing a group of options: input url -.
Applying option pix_fmt (set pixel format) with argument yuv420p.
Applying option s (set frame size (WxH or abbreviation)) with argument 1920x1080.
Applying option r (set frame rate (Hz value, fraction or abbreviation)) with argument 30.
Successfully parsed a group of options.
Opening an input file: -.
[NULL @ 0xcd02d0] Opening 'pipe:' for reading
[pipe @ 0xcd0b50] Setting default whitelist 'crypto'
[AVIOContext @ 0xcd8d50] Statistics: 1048576 bytes read, 0 seeks
pipe:: Invalid data found when processing inputI am now confused. This is literally the same as I am
fwrite
ing and then piping from the file. Is there something wrong with mywrite
? -
NodeJS - FFmpeg : Extract Frame from Video stdin stream (EPIPE write Error)
3 avril 2022, par ManiBI want to pipe an input steam (video) (should later be an http stream) to ffmpeg child process to extract an thumbnail :


require("stream").pipeline(
 require("fs").createReadStream("files/myVideo.mp4"),
 require("child_process").spawn("ffmpeg", ["-i", "-", "-ss", "00:00:01", "-frames:v", "1", "-y", "files/myImage.jpeg"]).stdin,
 (err) => console.log("Done", err)
);



So far so good, I get an extracted Image, but also an Error :


Error: write EPIPE
 at WriteWrap.onWriteComplete [as oncomplete] (node:internal/stream_base_commons:94:16) {
 errno: -32,
 code: 'EPIPE',
 syscall: 'write'
}



Converting full videos (e.g. mp4 -> mkv) works without errors.


My suggestion is, FFmpeg will close stdin too early (because image is already found on first second) and readable-stream is not able to write to stdin anymore.


How can I manage, to fix the error and gracefully close all streams ?


System :


- 

- Linux Centos 7 (also tried Windows Server 1809)
- NodeJS v16.14.1 (Windows v16.13.0)
- FFmpeg v4.4.1-static (Windows v4.4-full_build-www.gyan.dev)