
Recherche avancée
Autres articles (88)
-
Contribute to a better visual interface
13 avril 2011MediaSPIP is based on a system of themes and templates. Templates define the placement of information on the page, and can be adapted to a wide range of uses. Themes define the overall graphic appearance of the site.
Anyone can submit a new graphic theme or template and make it available to the MediaSPIP community. -
ANNEXE : Les plugins utilisés spécifiquement pour la ferme
5 mars 2010, parLe site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)
-
Multilang : améliorer l’interface pour les blocs multilingues
18 février 2011, parMultilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.
Sur d’autres sites (5938)
-
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 ?