
Recherche avancée
Autres articles (40)
-
Use, discuss, criticize
13 avril 2011, parTalk to people directly involved in MediaSPIP’s development, or to people around you who could use MediaSPIP to share, enhance or develop their creative projects.
The bigger the community, the more MediaSPIP’s potential will be explored and the faster the software will evolve.
A discussion list is available for all exchanges between users. -
Sélection de projets utilisant MediaSPIP
29 avril 2011, parLes exemples cités ci-dessous sont des éléments représentatifs d’usages spécifiques de MediaSPIP pour certains projets.
Vous pensez avoir un site "remarquable" réalisé avec MediaSPIP ? Faites le nous savoir ici.
Ferme MediaSPIP @ Infini
L’Association Infini développe des activités d’accueil, de point d’accès internet, de formation, de conduite de projets innovants dans le domaine des Technologies de l’Information et de la Communication, et l’hébergement de sites. Elle joue en la matière un rôle unique (...) -
L’espace de configuration de MediaSPIP
29 novembre 2010, parL’espace de configuration de MediaSPIP est réservé aux administrateurs. Un lien de menu "administrer" est généralement affiché en haut de la page [1].
Il permet de configurer finement votre site.
La navigation de cet espace de configuration est divisé en trois parties : la configuration générale du site qui permet notamment de modifier : les informations principales concernant le site (...)
Sur d’autres sites (7670)
-
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 ?


-
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) ;
-
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