
Recherche avancée
Autres articles (64)
-
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 (6689)
-
rtpdec_qt : Use a local variable instead of RTP_FLAG_KEY
4 mars 2015, par Martin Storsjö -
Making ffmpeg/javacv less verbose in java
16 octobre 2022, par lejlotI have a Java application that uses
ffmpeg
library andjavacv
to load and process video files.


I am currently using following code, for loading
videofile
to my data container.


public boolean add(String videofile) {
 FrameGrabber g = new OpenCVFrameGrabber( videofile );
 try{ 
 g.start();
 }
 catch(Exception e){
 g = new FFmpegFrameGrabber( videofile );
 try {
 g.start();
 }catch(Exception x){
 return false;
 }
 }
 grabbers.add( new Pair(videofile, g) );
 frames.add( 0 );
 preprocessed=false;
 return true; 
 }




Each time video is loaded, a library outputs a lot of meta information regarding video itself :





Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/home/lejlot/data/test.mp4' : 
 Metadata :
 major_brand : isom
 minor_version : 512
 compatible_brands : isomiso2mp41
 encoder : Lavf53.21.1 Duration : 00:04:36.27, start : 0.000000, bitrate : 305 kb/s
 Stream #0:0(und) : Video : mpeg4 (Simple Profile) (mp4v / 0x7634706D), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 303 kb/s, 20,85
 fps, 30 tbr, 1k tbn, 1k tbc
 Metadata :
 handler_name : VideoHandler





which obviously I do not want to see. I cannot (do not want) to modify the libraries source codes, but rather modify my own so it can intercept this log and discard it.



As far I tried to temporarly block the stdout/stderr streams through



private static final devnull = new PrintStream(new OutputStream() {
 @Override
 public void write(int b) {
 //DO NOTHING
 }
 @Override
 public void write(byte[] b,int x,int y){
 }
 });

 /**
 * Blocks messages to stdout
 */
 public static void silentStdOut(){
 System.setOut(devnull);
 }

 /**
 * Blocks messages to stderr
 */
 public static void silentStdErr(){
 System.setErr(devnull);
 }




but it does not seem to help, log message is still displayed



public boolean add(String videofile) {
 Utils.silentStdErr();
 Utils.silentStdOut();
 FrameGrabber g = new OpenCVFrameGrabber( videofile );
 try{ 
 g.start();
 }
 ,,,




"Raw" ffmpeg can be set to be less verbose using



ffmpeg -loglevel panic




but neither
OpenCVFrameGrabber
notFFmpegFrameGrabber
give access to the tool's parameters.


To sum up - how can I discard these log messages without modifing the libraries' source codes ?


-
Making ffmpeg/javacv less verbose in java
27 août 2013, par lejlotI have a Java application that uses
ffmpeg
library andjavacv
to load and process video files.I am currently using following code, for loading
videofile
to my data container.public boolean add(String videofile) {
FrameGrabber g = new OpenCVFrameGrabber( videofile );
try{
g.start();
}
catch(Exception e){
g = new FFmpegFrameGrabber( videofile );
try {
g.start();
}catch(Exception x){
return false;
}
}
grabbers.add( new Pair(videofile, g) );
frames.add( 0 );
preprocessed=false;
return true;
}Each time video is loaded, a library outputs a lot of meta information regarding video itself :
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/home/lejlot/data/test.mp4' :
Metadata :
major_brand : isom
minor_version : 512
compatible_brands : isomiso2mp41
encoder : Lavf53.21.1 Duration : 00:04:36.27, start : 0.000000, bitrate : 305 kb/s
Stream #0:0(und) : Video : mpeg4 (Simple Profile) (mp4v / 0x7634706D), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 303 kb/s, 20,85
fps, 30 tbr, 1k tbn, 1k tbc
Metadata :
handler_name : VideoHandlerwhich obviously I do not want to see. I cannot (do not want) to modify the libraries source codes, but rather modify my own so it can intercept this log and discard it.
As far I tried to temporarly block the stdout/stderr streams through
private static final devnull = new PrintStream(new OutputStream() {
@Override
public void write(int b) {
//DO NOTHING
}
@Override
public void write(byte[] b,int x,int y){
}
});
/**
* Blocks messages to stdout
*/
public static void silentStdOut(){
System.setOut(devnull);
}
/**
* Blocks messages to stderr
*/
public static void silentStdErr(){
System.setErr(devnull);
}but it does not seem to help, log message is still displayed
public boolean add(String videofile) {
Utils.silentStdErr();
Utils.silentStdOut();
FrameGrabber g = new OpenCVFrameGrabber( videofile );
try{
g.start();
}
,,,"Raw" ffmpeg can be set to be less verbose using
ffmpeg -loglevel panic
but neither
OpenCVFrameGrabber
notFFmpegFrameGrabber
give access to the tool's parameters.To sum up - how can I discard these log messages without modifing the libraries' source codes ?