
Recherche avancée
Médias (1)
-
Revolution of Open-source and film making towards open film making
6 octobre 2011, par
Mis à jour : Juillet 2013
Langue : English
Type : Texte
Autres articles (65)
-
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 septembre 2013, parCertains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;
-
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir -
Des sites réalisés avec MediaSPIP
2 mai 2011, parCette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page.
Sur d’autres sites (11611)
-
Video conversion with ffmpeg to target Android and iOS mobile devices
17 novembre 2017, par Lee BrindleyI’m building a react native app for both Android and IOS, the back-end API is written with NodeJS.
Users may upload video from their phones, once uploaded the user and their friends will be able to view the video - so the videos need to be stored in a format which is playable on both Android & IOS.
My question relates to the conversion of video, uploaded by the user. I developed a similar app a couple of years ago ; I used the repo node-fluent-ffmpeg which provides a nice API to interact with FFmpeg.
In the previous project (which was a web app), I converted the uploaded videos into two files, one .mp4 and one .webm - if a user uploaded an mp4, then I would skip the mp4 step, likewise if they uploaded a .webm.
This was kind of slow. Now I’ve come across the same requirement years later, after some research I think I was wrong to convert the videos to the last project.
I’ve read that I can simply use FFmpeg to change the container format of the videos, which is a much faster process than converting them from scratch.
The video conversion code I used last time went something along the lines of :
var convertVideo = function (source, format, output, success, failure, progress) {
var converter = ffmpeg(source);
var audioCodec = "libvorbis";
if (format.indexOf("mp4") != -1) {
audioCodec = "aac";
}
converter.format(format)
.withVideoBitrate(1024)
.withAudioCodec(audioCodec)
.on('end', success)
.on('progress', progress)
.on('error', failure);
converter.save(output);
};Usage :
Convert to mp4 :
convertVideo("PATH_TO_VIDEO", "mp4", "foo.mp4", () => {console.log("success");});
Convert to webm :
convertVideo("PATH_TO_VIDEO", "webm", "foo.webm", () => {console.log("success");});
Can anyone point out a code smell here regarding the performance of this operation ? Is this code doing a lot more than it should achieve cross-platform compatibility between IOS and Android ?
Might be worth mentioning that support for older OS versions is not such a big deal in this project.
-
ffmpeg progress is freezing frames when scene change
19 août 2017, par KarolI’m capturing data from IP camera with RTSP protocol with ffmpeg with command :
ffmpeg -rtsp_transport tcp -progress /media/kamip/stats.txt -i rtsp://192.168.1.220:554/live/h264/ch0
-c:v copy -c:a copy -strict 1 -map 0 -f segment -strftime 1
-segment_time 1800 /media/kamip/cam_%d_%m_%Y_%H_%M_%S.mkvI’m using this for 5 cameras. One is different type and it is in different location.
Because ffmpeg does not support reconnect I’m writing status to /media/kamip/stats.txt file. In another script I’m parsing this output and every 30 seconds I’m checking if frame number changed, if yes - it is ok, if not, I’m restarting above command.The problem is only in the night. When is quite dark and suddenly lights on, for example when car is parking, the /media/kamip/stats.txt is showing the same frame number, so my script is recognizing this as a lost connection (video freeze)
I tried "-strict 1" option and I think it is better (one false alarm per day instead of 10 per day), so I think this may be related to ffmpeg, not camera/video source, especially because the video is fine even frame number reported by ffmpeg is still the same. Also VLC does not have this kind of problem (but I cannot use it currently for this camera)
I found that ffmpeg has build-in scene change detector, but it should works only when encoding video (I’m using "copy" option for audio and video) ?
I’m thinking about different way of analyzing the video capturing, but this "-progress" in ffmpeg should works fine - and it is working fine for other cameras for few years).
I also do not see any errors,
when I encoded one cutted file with "-loglevel debug" I saw only information like below :[libx264 @ 0x25d77a0] scene cut at 174 Icost:2049115 Pcost:2006553
ratio:0.0208 bias:0.1387 gop:54 (imb:3186 pmb:168)ffmpeg in latest version
ffmpeg version 3.3.3-1ubuntu1~16.04.york0 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 20160609any help will be appreciated
-
ffmpeg : playing media files does not release processor after media ends ?
2 septembre 2017, par Blake SenftnerI have a commercial C++ application which uses FFMPEG’s libav series of dlls to play media in a Windows application. I basically started with the dranger tutorial about two years ago, and created a library that can playback USB cameras, IP camera / online streams, and media files on disk. (http://dranger.com/ffmpeg/)
My question is directed at anyone who has created their own similar library :
I recently noticed after playing a video file from disk (as opposed to a live stream from USB or IP source), my 8 core i7 workstation will show 28-29% CPU usage after a media file has ended. My application can play an unlimited number of videos, and each "virtual video panel" (not a window, just a "virtual tab" created using wxWidgets that holds an OpenGL context that I use to glDrawPixels() to the visible app panel) will play any of the three media types fine (USB, IP stream or media file) and when I stop a USB or IP stream my application’s CPU usage drops to zero. But when I "stop" a media file playing or the media file ends on its own the CPU usage does not drop - until the application quits.
Three media files playing will take my application to 80-83% CPU, and it never drops. UNLESS I reuse that same "virtual video panel" to play a USB or IP stream. If I stop those streams, CPU usage is released.
MP4 (h264) video files exhibit this "holding a processor" problem.
MP4 (mpeg2) files do not.
MP4 (h265) files do not.
MPG (mpeg1) files do not.
ASF (MS MPEG-4 Video v3) files do not.
MKV (vp8) files do not.
MOV files using h265 do not, as well as MOV (h264) files do not.
FLV (sorensen) files do not, as well as FLV (h264) files do not.
So it is not just the h264 codec.
Anyone know what is going on, and how I tell libav to release CPU usage when a media file is no longer playing ?