
Recherche avancée
Autres articles (49)
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
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. -
Submit enhancements and plugins
13 avril 2011If you have developed a new extension to add one or more useful features to MediaSPIP, let us know and its integration into the core MedisSPIP functionality will be considered.
You can use the development discussion list to request for help with creating a plugin. As MediaSPIP is based on SPIP - or you can use the SPIP discussion list SPIP-Zone.
Sur d’autres sites (8084)
-
FFmpeg apply multiple filters (Logo overlay, Brightness change and text overlay)
4 octobre 2018, par A.ButakidisI am trying to add three filters to a png file using ffmpeg in Android (I am using the writing mind lib).
So far I managed to pull together the cmd :
-i /storage/emulated/0/videoApp/temp/firstFrameOfMergedVideo.png
-i /storage/emulated/0/videoApp/temp/logo.png
-filter_complexFIRST FILTER
[1:v]scale=h=-1:w=100[overlay_scaled],[0:v][overlay_scaled]overlay=eval=init:x=W-100-W*0.1:y=W*0.1,
SECOND FILTER
drawtext=fontfile=/system/fonts/Roboto-Regular.ttf:text='xbsg':fontcolor=white:fontsize=60:box=1:boxcolor=0x7FFFD4@0.5:boxborderw=20:x=20:y=h-(text_h*2)-(h*0.1):enable='between(t,0,2)',
THIRD FILTER
drawtext=fontfile=/system/fonts/Roboto-Regular.ttf:text='cbeh':fontcolor=white:fontsize=30:box=1:boxcolor=0x7FFFD4@0.5:boxborderw=20:x=20:y=h-text_h-(h*0.1)+25:enable='between(t,0,2)',
FOURTH FILTER
eq=contrast=1:brightness=0.26180276:saturation=1:gamma=1:gamma_r=1:gamma_g=1:gamma_b=1:gamma_weight=1
-c:a
copy
/storage/emulated/0/videoApp/temp/frameWithFilters.pngRight now I am trying to separate the filters using
,
but I also tried;
It throws me back :
Input #0, png_pipe, from '/storage/emulated/0/videoApp/temp/firstFrameOfMergedVideo.png':
Duration: N/A, bitrate: N/A
Stream #0:0: Video: png, rgb24(pc), 1080x1920, 25 tbr, 25 tbn, 25 tbc
Input #1, png_pipe, from '/storage/emulated/0/videoApp/temp/logo.png':
Duration: N/A, bitrate: N/A
Stream #1:0: Video: png, rgba(pc), 528x582, 25 tbr, 25 tbn, 25 tbc
[NULL @ 0xf265d800] Unable to find a suitable output format for ','
,: Invalid argumentIf I apply them individual they work.
I am new to ffmpeg so any help would be appreciated.
-
C# / FFMPEG - Is this the best way to programmatically combine multiple video files in different formats and encodings into one ?
28 avril 2021, par buggybudI've been trying to concat multiple videos into one. These videos may have different file types and extensions. As it stands I am only working with MP4 files that seem to have different resolutions, framerates, you name it.


After having first followed the Stackoverflow answers that talked about using an intermediate file (convert all the files into one format, then concate that) I also came across a solution that uses what I think is called a 'concat video filter.'


This would allow me to ignore the intermediate steps and just combine all the files by specifying their individual settings within one single FFMPEG command.


-i 1.mp4 -i 2.mp4 -i 3.mp4 -filter_complex \
 "[0:v]scale=1280:720:force_original_aspect_ratio=decrease,pad=1280:720:-1:-1,setsar=1,fps=30,format=yuv420p[v0];
 [1:v]scale=1280:720:force_original_aspect_ratio=decrease,pad=1280:720:-1:-1,setsar=1,fps=30,format=yuv420p[v1];
 [2:v]scale=1280:720:force_original_aspect_ratio=decrease,pad=1280:720:-1:-1,setsar=1,fps=30,format=yuv420p[v2];
 [v0][0:a][v1][1:a][v2][2:a]concat=n=3:v=1:a=1[v][a]" \
 -map "[v]" -map "[a]" -c:v libx264 -c:a aac -movflags +faststart output.mp4



Provided above is the snippet that shows you how to combine three videos into one. I've used this Snippet within my code but as opposed to manually specifying the input files, and not finding a way to use the list file, I came across the very hacky solution to programatically create the above command parameters.


var command = "";

 for (var i = 0; i < video_paths.Count; i++)
 {
 command += $"-i \"{video_paths[i]}\" ";
 }

 command += "-filter_complex ";
 command += "\"";

 for (var i = 0; i < video_paths.Count; i++)
 {
 command += $"[{i}:v]scale=1280:720:force_original_aspect_ratio=decrease,pad=1280:720:-1:-1,setsar=1,fps=30,format=yuv420p[v{i}];";
 }

 for (var i = 0; i < video_paths.Count; i++)
 {
 command += $"[v{i}][{i}:a]";
 }

 command += $"concat=n={video_paths.Count}:v=1:a=1[v][a]\" ";
 command += $"-map \"[v]\" -map \"[a]\" -c:v libx264 -c:a aac -movflags +faststart \"{path}\"";

 ffmpeg(command);



The above code is the solution to my problem. It works.


The reason I made this Stackoverflow question is the following : Is this the best way to programatically make the arguments ? What is the maximum string limit of these arguments as my video paths are all absolute paths ? How can I make this look nicer and less chaotic in code ?


Bud


-
Automating FFmpeg/ multi-core support
23 juillet 2018, par PablowakoI need help with FFmpeg/batch. I have a couple of large batches of images (+14000 files each batch, +5 MB each image, .TIFF all of them) and I’m stringing them together into a .mp4 video using FFmpeg.
The date in the metadata is broken because of the way they’re stored upon creation, so the time and date (T/D) are on the file_name. I need each frame to have its respective T/D (so its File_Name) burnt onto them for accurate measurements (scientific purpose).
With the help of google and reddit, I’ve managed to semi-automate it like so :
Master.bat :
forfiles /p "D:\InputPath" /m "*.TIFF" /S /C "cmd /c C:\SlavePath\slave.bat @file @fname"
Slave.bat :
ffmpeg -i "%~1" -vf "drawtext=text=%~2: fontcolor=white: fontsize=30: fontfile='C\:\\FontPath\\OpenSans-Regular.ttf'" "D:\OutputPath\mod_%~1"
Running
Master.bat
will output each individual image with the text burnt onto them and change the File_Name tomod_'File_name'.TIFF
Real example : 2018-06-05—16-00-01.0034.TIFF turns into mod_2018-06-05—16-00-01.0034.TIFF
The problem is that FFmpeg doesn’t like it when my files have "—" in them ("date—time.miliseconds.TIFF") and doesn’t like the miliseconds either, so I have to change the name of all files "manually" using Bulk Rename Utility (BRU). So, using BRU I rename all files to
00001.TIFF, 00002.TIFF,
etc. and FFmpeg likes me again. It works great, but it means I can’t be AFK.After that, I have to go back to cmd and manually start the image to video conversion.
Also, FFmpeg doesn’t seem to be using all cores.
I need help finding a way to :
- Change
master.bat
’s output to00001.TIFF
etc. automatically in order of processing (i.e. first to be processed is 1.TIFF, 2nd is 2.TIFF) - Add ffmpeg’s img-to-vid function to the automating system
- Get my CPU to use all the cores effectively if possible. 2014/15 posts found on google make it seem as though FFmpeg doesn’t support multi-core or hyperthreading.
64bit Windows, i7 7700hq, gtx 1050 4Gb, C : SSD, D : HDD
- Change