
Recherche avancée
Médias (2)
-
GetID3 - Bloc informations de fichiers
9 avril 2013, par
Mis à jour : Mai 2013
Langue : français
Type : Image
-
GetID3 - Boutons supplémentaires
9 avril 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Image
Autres articles (7)
-
Emballe médias : à quoi cela sert ?
4 février 2011, parCe plugin vise à gérer des sites de mise en ligne de documents de tous types.
Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ; -
Déploiements possibles
31 janvier 2010, parDeux types de déploiements sont envisageable dépendant de deux aspects : La méthode d’installation envisagée (en standalone ou en ferme) ; Le nombre d’encodages journaliers et la fréquentation envisagés ;
L’encodage de vidéos est un processus lourd consommant énormément de ressources système (CPU et RAM), il est nécessaire de prendre tout cela en considération. Ce système n’est donc possible que sur un ou plusieurs serveurs dédiés.
Version mono serveur
La version mono serveur consiste à n’utiliser qu’une (...) -
Menus personnalisés
14 novembre 2010, parMediaSPIP utilise le plugin Menus pour gérer plusieurs menus configurables pour la navigation.
Cela permet de laisser aux administrateurs de canaux la possibilité de configurer finement ces menus.
Menus créés à l’initialisation du site
Par défaut trois menus sont créés automatiquement à l’initialisation du site : Le menu principal ; Identifiant : barrenav ; Ce menu s’insère en général en haut de la page après le bloc d’entête, son identifiant le rend compatible avec les squelettes basés sur Zpip ; (...)
Sur d’autres sites (4194)
-
Using ffmpeg to watermark a folder of videos
25 août 2018, par user5947524I am using the code below to watermark individual videos one-by-one in a folder :
ffprobe -v quiet -show_entries stream=width,height -of default=noprint_wrappers=1 dave.mp4
ffmpeg -i logo.png -y -v quiet -vf scale=width*0.15:-1 scaled.png
ffmpeg -i dave.mp4 -i scaled.png -filter_complex "overlay=10:main_h-overlay_h-10" dave2.mp4The first line gets the width and the height of a video, second line scales the watermark for that video, third line creates a new video watermarked.
How can I make run for a full folder of 1000 videos ?
I tried the code below but it corrupted the videos :
for %%a in ("C:\Users\Work\Desktop\test2\*.mp4") do (
ffprobe -v quiet -show_entries stream=width,height -of default=noprint_wrappers=1 "%%a"
ffmpeg -i logo.png -y -v quiet -vf scale=width*0.15:-1 scaled.png
ffmpeg -i "%%a" -i scaled.png -filter_complex "overlay=10:main_h-overlay_h-10" "C:\Users\Work\Desktop\test2\%%~na.mp4"
)The error I get is :
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000014545aaaa00] stream 0, offset 0x18039: partial file
[aac @ 0000014545b708c0] Input buffer exhausted before END element found
Error while decoding stream #0:1: Invalid data found when processing input
C:\Users\Work\Desktop\test2\dave.mp4: Invalid data found when processing input -
Auto delete .ts and .m3u8 files once client receives all .ts files
11 mars 2019, par Abhishek MehandirattaSo I created an express server that gets an mp3 file (which is stored locally right now, but will be taken from mongo db later) and uses ffmpeg to make .m3u8 and .ts files. The files are successfully sent to the client and there are no errors while playing it on the client. I used hls.js to play these files in Chrome. But the server still has those files stored locally. Is there any way the server can know when to delete these files that it stored locally ? There are a lot of files generated by ffmpeg so I can’t just let them stay there forever.
I used the ffmpeg part of code from hls-server github repo.
my server file
index.js
// just used to run ffmpeg for conversion
var command = ffmpeg('inp.mp3')
.on('start', function (commandLine) {
console.log('command', commandLine);
}).addOptions([
'-c:a aac',
'-b:a 64k',
'-vn',
'-hls_list_size 0',
'-segment_time 10',
]).output('files\\output.m3u8');
var express = require('express');
var app = express();
// express middleware to serve individual .ts and .m3u8 files when requested
app.use(express.static('./files/'));
app.get('/', function (req, res) {
command.on('end', function () {
console.log('done');
res.write(`
<code class="echappe-js"><script src="https://cdn.jsdelivr.net/hls.js/latest/hls.min.js"></script><script><br />
function onLevelLoaded (event, data) {<br />
var level_duration = data.details.totalduration;<br />
console.log(level_duration, data);<br />
}<br />
if(Hls.isSupported()) {<br />
var audio = new Audio();<br />
var hls = new Hls();<br />
// requesting files from here<br />
hls.loadSource('http://localhost:8000/output.m3u8');<br />
hls.attachMedia(audio);<br />
hls.on(Hls.Events.LEVEL_LOADED, onLevelLoaded);<br />
hls.on(Hls.Events.FRAG_BUFFERED, (e, d) => {<br />
console.log(e, d);<br />
});<br />
}<br />
</script>`) ;
res.end() ;
}).run() ;
}) ;app.listen(8000) ;
-
Accord.Video.FFMPEG creates very low quality video
11 février 2021, par Кирилл МалышевI use
Accord.Video.FFMPEG
to create a video of 200 images with the H264 codec. For some reason, the video is very poor quality. Its size is less than 1MB. When choosingVideoCodec.Raw
, the quality is high, but I am not happy with the huge size.


I do something like this



using (var vFWriter = new VideoFileWriter())
{
 vFWriter.Open(video_name, 1920, 1080, 24, VideoCodec.H264);
 for (int i = 0; i < 200; ++i)
 {
 var img_name_src = ...
 using (Bitmap src_jpg = new Bitmap(img_name_src))
 {
 vFWriter.WriteVideoFrame(src_jpg);
 }
 }
 vFWriter.Close();
}




When I run the program, messages appear :



[swscaler @ 06c36d20] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 06e837a0] deprecated pixel format used, make sure you did set range correctly
[avi @ 06c43980] Using AVStream.codec.time_base as a timebase hint to the muxer is deprecated. Set AVStream.time_base instead.
[avi @ 06c43980] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.




I don’t know if they affect something.



It looks like 1 frame :






This is the frame from the video :






How to fix it ?



Is there any other way in C# to create a video from individual frames ?