
Recherche avancée
Autres articles (40)
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
Installation en mode ferme
4 février 2011, parLe mode ferme permet d’héberger plusieurs sites de type MediaSPIP en n’installant qu’une seule fois son noyau fonctionnel.
C’est la méthode que nous utilisons sur cette même plateforme.
L’utilisation en mode ferme nécessite de connaïtre un peu le mécanisme de SPIP contrairement à la version standalone qui ne nécessite pas réellement de connaissances spécifique puisque l’espace privé habituel de SPIP n’est plus utilisé.
Dans un premier temps, vous devez avoir installé les mêmes fichiers que l’installation (...) -
La sauvegarde automatique de canaux SPIP
1er avril 2010, parDans le cadre de la mise en place d’une plateforme ouverte, il est important pour les hébergeurs de pouvoir disposer de sauvegardes assez régulières pour parer à tout problème éventuel.
Pour réaliser cette tâche on se base sur deux plugins SPIP : Saveauto qui permet une sauvegarde régulière de la base de donnée sous la forme d’un dump mysql (utilisable dans phpmyadmin) mes_fichiers_2 qui permet de réaliser une archive au format zip des données importantes du site (les documents, les éléments (...)
Sur d’autres sites (6026)
-
How to convert a video to mask with ffmpeg ?
8 avril 2019, par Zedd WI want to synthesize videos with a pre-designed template.
template structure
- background video : background
- mask video : mask
- foreground video : foreground
- content video : content
The final result is similar to the video below
result : This video is synthesized by me using moviepy(a Python module for video editing). But it takes too long to be used in production.
So, I need to overlay these videos into a single video.
Current problems
- How to convert a video to mask by ffmpeg ?
- How to synthesize these videos to a single video by ffmpeg ?
-
video compression error in android
27 avril 2017, par Arpan SharmaI am using ffmpeg for video compression in android.I an following this link
But i always get exit code 1.I am trying to get video from VIDEO CAPTURE intent inside a fragment.
This is my codefinal Clip clip_in = new Clip(videoPath);
File fileTmp = activity.getCacheDir();
File fileAppRoot = new File(activity.getApplicationInfo().dataDir);
final Clip clip_out = new Clip(videoPath);
//put flags in clip
clip_out.videoFps = "30";
clip_out.width = 480;
clip_out.height = 320;
clip_out.videoCodec = "libx264";
clip_out.audioCodec = "copy";
try {
FfmpegController fc = new FfmpegController(getContext(), fileTmp);
fc.processVideo(clip_in, clip_out, false, new ShellUtils.ShellCallback() {
@Override
public void shellOut(String shellLine) {
System.out.println("MIX> " + shellLine);
}
@Override
public void processComplete(int exitValue) {
if (exitValue != 0) {
// System.err.println("concat non-zero exit: " + exitValue);
Log.d("ffmpeg", "Compilation error. FFmpeg failed");
Toast.makeText(activity, "result: ffmpeg failed", Toast.LENGTH_LONG).show();
} else {
if (new File("/storage/emulated/0/Developer/result2.mp4").exists()) {
Log.d("ffmpeg", "Success file:" + "/storage/emulated/0/Developer/result2.mp4");
}
}
}
});
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}Any help will be appreciated.
-
Why a batch processing of ffmpeg is freezing the system ?
3 septembre 2019, par Krishna ChebroluI have a requirement of splitting smaller chunks of videos from 50+ mp4 source files for 5000+ records. Each record may result in 2 or 3 smaller chunks from as many source files out of those 50+.
The logic to determine which source file to be picked up is written in Java and then fed to
ffmpeg
onRuntime.getRuntime().exec()
usingExecutorService
withnewFixedThreadPool
as below :private static boolean processqueue(ArrayList<string> cmds) {
final ExecutorService pool;
int threadsnum = Runtime.getRuntime().availableProcessors()-2;
pool = Executors.newFixedThreadPool(threadsnum);
for(final String cmd: cmds){
pool.execute(new Runnable() {
public void run() {
System.out.println(cmd);
try {
Runtime.getRuntime().exec(cmd);
} catch (IOException e) {
e.printStackTrace();
pool.shutdown();
}
}
});
}
pool.shutdown();
// wait for them to finish for up to one minute.
try {
if(!pool.awaitTermination(1, TimeUnit.MINUTES)) {
pool.shutdownNow();
}
//Wait a while for tasks to respond to being cancelled
if(!pool.awaitTermination(1, TimeUnit.MINUTES))
System.err.println("Pool did not shutdown properly");
} catch (InterruptedException e) {
e.printStackTrace();
pool.shutdownNow();
//Preserve interrupt status
Thread.currentThread().interrupt();
return false;
}
return true;
}
</string>the String
cmd
value is one of these based on split or merge requirement :for split :
ffmpeg -y -ss 00:00:00 -t 00:08 -i E:/tmp/fin12.mp4 -acodec copy -vcodec copy E:/tmp/Intermed/0136f.mp4
or
for merge :
ffmpeg -y -i E:/tmp/Inter/0136c0.mp4 -i E:/tmp/Inter/0136c1.mp4 -i E:/tmp/Inter/0136f.mp4 -i E:/tmp/Jingle.mp4 -i E:/tmp/wm1280.png -filter_complex "[0:v][0:a][1:v][1:a][2:v][2:a][3:v][3:a]concat=n=4:v=1:a=1[vv][a];[vv][4:v]overlay=x=0:y=H-overlay_h[v]" -map "[v]" -map "[a]" E:/tmp/final/0136.mp4
On first attempt, only 250 records were processed. And, on subsequent attempt of balance records processing, it threw below exception ; but, processed another 300 records :
java.io.IOException: Cannot run program "ffmpeg": CreateProcess error=1455, The paging file is too small for this operation to complete
at java.lang.ProcessBuilder.start(Unknown Source)And, this code freezes often. Why is
ExecutorService
not holding up the queue to process all the records and exit gracefully ? What am I doing wrong ?Note : I’m calling Java class from windows batch script by passing relevant arguments which is executed from command line.