
Recherche avancée
Médias (91)
-
999,999
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
The Slip - Artworks
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Texte
-
Demon seed (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
The four of us are dying (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
Corona radiata (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
Lights in the sky (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
Autres articles (11)
-
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs -
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 (...) -
D’autres logiciels intéressants
12 avril 2011, parOn ne revendique pas d’être les seuls à faire ce que l’on fait ... et on ne revendique surtout pas d’être les meilleurs non plus ... Ce que l’on fait, on essaie juste de le faire bien, et de mieux en mieux...
La liste suivante correspond à des logiciels qui tendent peu ou prou à faire comme MediaSPIP ou que MediaSPIP tente peu ou prou à faire pareil, peu importe ...
On ne les connais pas, on ne les a pas essayé, mais vous pouvez peut être y jeter un coup d’oeil.
Videopress
Site Internet : (...)
Sur d’autres sites (5217)
-
ffmpeg rotate and resize
23 août 2014, par user1321964I’m trying to resize a movie and to rotate it counter-clockwise using ffmpeg.
I can achieve one or the other ok individuallyffmpeg -i MVI_8189.MOV -vf "transpose=2" -ss 00:00:12 -t 00:00:05 rotate.MOV
OR
ffmpeg -i MVI_8189.MOV -s 720x406 -ss 00:00:12 -t 00:00:05 resize.MOV
but if I try to do both, either-
ffmpeg -i MVI_8189.MOV -s 720x406 -ss 00:00:12 -t 00:00:05 resize.MOV
ffmpeg -i resize.MOV -vf "transpose=2" toutp.MOV
OR
ffmpeg -i MVI_8189.MOV -vf "transpose=2" -ss 00:00:12 -t 00:00:05 rotate.MOV
ffmpeg -i rotate.MOV -s 406x720 toutp.MOV
the final movie does not play, only audio, no video ; neither previewing in Finder, nor in Quicktime. More seriously once I have attempted to play it, I can’t then play any other movie whatsoever (only audio) - quicktime won’t quit, constantly need to force-quit it. The only way to then restore seems to be reboot OS-X
This though does work -
ffmpeg -i MVI_8189.MOV -vf "transpose=2" -ss 00:00:12 -t 00:00:05 rotate.MOV
ffmpeg -i rotate.MOV -s 720x406 toutp.MOV
but doesn’t do what I want - it stretches the movie in the wrong direction
Any ideas ?
ffmpeg version 1.0.git Copyright (c) 2000-2012 the FFmpeg developers
built on Dec 24 2012 18:43:25 with llvm-gcc 4.2.1 (LLVM build 2336.1.00)MAC OSX 10.7.5
==========
output fromffmpeg -i MVI_8189.MOV -vf "transpose=2" -ss 00:00:12 -t 00:00:05 rotate.MOV
ffmpeg -i rotate.MOV -s 406x720 toutp.MOV
ffmpeg version 1.0.git Copyright (c) 2000-2012 the FFmpeg developers
built on Dec 24 2012 18:43:25 with llvm-gcc 4.2.1 (LLVM build 2336.1.00)
configuration: --prefix=/usr/local --enable-shared --disable-mmx --enable-libmp3lame --enable-gpl --enable-zlib --enable-libvorbis --enable-libfaac --enable-nonfree --enable-libx264 --enable-pthreads
libavutil 52. 12.100 / 52. 12.100
libavcodec 54. 81.100 / 54. 81.100
libavformat 54. 49.102 / 54. 49.102
libavdevice 54. 3.102 / 54. 3.102
libavfilter 3. 29.101 / 3. 29.101
libswscale 2. 1.103 / 2. 1.103
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 2.100 / 52. 2.100
Guessed Channel Layout for Input Stream #0.1 : stereo
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'MVI_8189.MOV':
Metadata:
major_brand : qt
minor_version : 537331968
compatible_brands: qt CAEP
creation_time : 2014-08-17 23:13:43
Duration: 00:01:32.40, start: 0.000000, bitrate: 44677 kb/s
Stream #0:0(eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuvj420p, 1920x1080, 43132 kb/s, 25 fps, 25 tbr, 25k tbn, 50k tbc
Metadata:
creation_time : 2014-08-17 23:13:43
Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, stereo, s16, 1536 kb/s
Metadata:
creation_time : 2014-08-17 23:13:43
[libx264 @ 0x7fc67c043600] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2 AVX
[libx264 @ 0x7fc67c043600] profile High, level 4.0
[libx264 @ 0x7fc67c043600] 264 - core 128 - H.264/MPEG-4 AVC codec - Copyleft 2003-2012 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mov, to 'rotate.MOV':
Metadata:
major_brand : qt
minor_version : 537331968
compatible_brands: qt CAEP
encoder : Lavf54.49.102
Stream #0:0(eng): Video: h264 (avc1 / 0x31637661), yuvj420p, 1080x1920, q=-1--1, 12800 tbn, 25 tbc
Metadata:
creation_time : 2014-08-17 23:13:43
Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, s16, 128 kb/s
Metadata:
creation_time : 2014-08-17 23:13:43
Stream mapping:
Stream #0:0 -> #0:0 (h264 -> libx264)
Stream #0:1 -> #0:1 (pcm_s16le -> libfaac)
Press [q] to stop, [?] for help
frame= 125 fps=5.7 q=-2.0 Lsize= 6394kB time=00:00:05.00 bitrate=10470.5kbits/s /s
video:6322kB audio:67kB subtitle:0 global headers:0kB muxing overhead 0.079207%
[libx264 @ 0x7fc67c043600] frame I:1 Avg QP:25.87 size:113032
[libx264 @ 0x7fc67c043600] frame P:65 Avg QP:25.78 size: 64251
[libx264 @ 0x7fc67c043600] frame B:59 Avg QP:26.73 size: 37017
[libx264 @ 0x7fc67c043600] consecutive B-frames: 5.6% 94.4% 0.0% 0.0%
[libx264 @ 0x7fc67c043600] mb I I16..4: 10.7% 79.9% 9.3%
[libx264 @ 0x7fc67c043600] mb P I16..4: 3.6% 12.0% 0.3% P16..4: 52.0% 19.1% 11.3% 0.0% 0.0% skip: 1.7%
[libx264 @ 0x7fc67c043600] mb B I16..4: 0.9% 1.7% 0.0% B16..8: 45.4% 5.1% 0.8% direct:24.2% skip:21.9% L0:50.1% L1:44.5% BI: 5.3%
[libx264 @ 0x7fc67c043600] 8x8 transform intra:74.5% inter:79.5%
[libx264 @ 0x7fc67c043600] coded y,uvDC,uvAC intra: 59.4% 94.3% 79.5% inter: 38.2% 80.5% 30.1%
[libx264 @ 0x7fc67c043600] i16 v,h,dc,p: 30% 21% 22% 28%
[libx264 @ 0x7fc67c043600] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 18% 14% 24% 6% 8% 9% 7% 8% 7%
[libx264 @ 0x7fc67c043600] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 28% 18% 17% 6% 7% 8% 6% 6% 4%
[libx264 @ 0x7fc67c043600] i8c dc,h,v,p: 60% 14% 18% 8%
[libx264 @ 0x7fc67c043600] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x7fc67c043600] ref P L0: 43.9% 12.6% 26.8% 16.7%
[libx264 @ 0x7fc67c043600] ref B L0: 68.6% 31.4%
[libx264 @ 0x7fc67c043600] kb/s:10357.28
ffmpeg version 1.0.git Copyright (c) 2000-2012 the FFmpeg developers
built on Dec 24 2012 18:43:25 with llvm-gcc 4.2.1 (LLVM build 2336.1.00)
configuration: --prefix=/usr/local --enable-shared --disable-mmx --enable-libmp3lame --enable-gpl --enable-zlib --enable-libvorbis --enable-libfaac --enable-nonfree --enable-libx264 --enable-pthreads
libavutil 52. 12.100 / 52. 12.100
libavcodec 54. 81.100 / 54. 81.100
libavformat 54. 49.102 / 54. 49.102
libavdevice 54. 3.102 / 54. 3.102
libavfilter 3. 29.101 / 3. 29.101
libswscale 2. 1.103 / 2. 1.103
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 2.100 / 52. 2.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'rotate.MOV':
Metadata:
major_brand : qt
minor_version : 512
compatible_brands: qt
encoder : Lavf54.49.102
Duration: 00:00:05.01, start: 0.010667, bitrate: 10446 kb/s
Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuvj420p, 1080x1920, 10358 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc
Metadata:
handler_name : DataHandler
Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 109 kb/s
Metadata:
handler_name : DataHandler
[libx264 @ 0x7fcf1c05ba00] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2 AVX
[libx264 @ 0x7fcf1c05ba00] profile High, level 3.0
[libx264 @ 0x7fcf1c05ba00] 264 - core 128 - H.264/MPEG-4 AVC codec - Copyleft 2003-2012 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mov, to 'toutp.MOV':
Metadata:
major_brand : qt
minor_version : 512
compatible_brands: qt
encoder : Lavf54.49.102
Stream #0:0(eng): Video: h264 (avc1 / 0x31637661), yuvj420p, 406x720, q=-1--1, 12800 tbn, 25 tbc
Metadata:
handler_name : DataHandler
Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, s16, 128 kb/s
Metadata:
handler_name : DataHandler
Stream mapping:
Stream #0:0 -> #0:0 (h264 -> libx264)
Stream #0:1 -> #0:1 (aac -> libfaac)
Press [q] to stop, [?] for help
frame= 125 fps= 32 q=-2.0 Lsize= 469kB time=00:00:05.01 bitrate= 766.2kbits/s
video:396kB audio:68kB subtitle:0 global headers:0kB muxing overhead 1.088481%
[libx264 @ 0x7fcf1c05ba00] frame I:1 Avg QP:24.20 size: 31395
[libx264 @ 0x7fcf1c05ba00] frame P:42 Avg QP:24.51 size: 7137
[libx264 @ 0x7fcf1c05ba00] frame B:82 Avg QP:27.71 size: 893
[libx264 @ 0x7fcf1c05ba00] consecutive B-frames: 0.8% 16.0% 57.6% 25.6%
[libx264 @ 0x7fcf1c05ba00] mb I I16..4: 7.0% 62.2% 30.8%
[libx264 @ 0x7fcf1c05ba00] mb P I16..4: 0.2% 0.8% 0.1% P16..4: 52.8% 18.7% 12.5% 0.0% 0.0% skip:14.9%
[libx264 @ 0x7fcf1c05ba00] mb B I16..4: 0.0% 0.0% 0.0% B16..8: 30.0% 0.8% 0.1% direct: 0.9% skip:68.2% L0:36.0% L1:62.1% BI: 2.0%
[libx264 @ 0x7fcf1c05ba00] 8x8 transform intra:66.4% inter:78.3%
[libx264 @ 0x7fcf1c05ba00] coded y,uvDC,uvAC intra: 79.3% 93.6% 84.9% inter: 13.6% 32.2% 10.4%
[libx264 @ 0x7fcf1c05ba00] i16 v,h,dc,p: 50% 19% 7% 24%
[libx264 @ 0x7fcf1c05ba00] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 20% 20% 11% 5% 8% 10% 9% 7% 8%
[libx264 @ 0x7fcf1c05ba00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 27% 22% 8% 5% 8% 8% 10% 5% 5%
[libx264 @ 0x7fcf1c05ba00] i8c dc,h,v,p: 42% 22% 24% 13%
[libx264 @ 0x7fcf1c05ba00] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x7fcf1c05ba00] ref P L0: 48.7% 16.3% 25.6% 9.4%
[libx264 @ 0x7fcf1c05ba00] ref B L0: 73.7% 21.3% 5.0%
[libx264 @ 0x7fcf1c05ba00] ref B L1: 90.7% 9.3%
[libx264 @ 0x7fcf1c05ba00] kb/s:647.04 -
IOException : Error running exec() Command, When calling FFmpeg method
21 avril 2016, par kc ochibilii am trying to create a slide show mp4 using this ffmpeg method but i keep getting this IOException
Error running exec(). Command
when i click the button.here is my call
ffmpegController = new FfmpegController(getTempDirectory(), new File(""));
ffmpegController.createSlideshowFromImagesAndAudio(slideFrames, getAudioPath(), getOutPath(), 500, mCallbackResponse);Here is the source code of the small project.
Here is the apkAnd here is my Error message
Error running exec(). Command: [ffmpeg, -y, -i, /storage/emulated/0/TestFFmpeg/frame1.png, /storage/emulated/0/TestFFmpeg/temp/image-000.jpg]
Working Directory: lib Environment: [VIBE_PIPE_PATH=/dev/pipes, ANDROID_ROOT=/system, EMULATED_STORAGE_SOURCE=/mnt/shell/emulated, LOOP_MOUNTPOINT=/mnt/obb, EMULATED_STORAGE_TARGET=/storage/emulated, ANDROID_BOOTLOGO=1, LD_LIBRARY_PATH=/vendor/lib:/system/lib, EXTERNAL_STORAGE=/storage/emulated/legacy, ANDROID_SOCKET_zygote=9, ANDROID_DATA=/data, PATH=/sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin, ANDROID_ASSETS=/system/app, ASEC_MOUNTPOINT=/mnt/asec, BOOTCLASSPATH=/system/framework/core.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/framework2.jar:/system/framework/telephony-common.jar:/system/framework/voip-common.jar:/system/framework/mms-common.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/sec_edm.jar:/system/framework/seccamera.jar:/system/framework/secocsp.jar:/system/framework/sc.jar:/system/framework/scrollpause.jar:/system/framework/stayrotation.jar:/system/framework/smartfaceservice.jar:/system/framework/sws.jar:/system/framework/WfdCommon.jar, ANDROID_PROPERTY_WORKSPACE=8,66560, SECONDARY_STORAGE=/storage/extSdCard:/storage/UsbDriveA:/storage/UsbDriveB:/storage/UsbDriveC:/storage/UsbDriveD:/storage/UsbDriveE:/storage/UsbDriveF, ANDROID_STORAGE=/storage]Here is my Activity code :
public class MainActivity extends Activity {
Button testButton;
EditText errorLogView;
TinyDB tinydb;// sharedPreference Wrapper
static Context context;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
context = getApplicationContext();
tinydb = new TinyDB(context); // sharedPreference Wrapper
testButton = (Button) findViewById(R.id.test_Image_View);
errorLogView = (EditText) findViewById(R.id.errorlog);
setListeners();
}
public void setListeners(){
testButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Bitmap frame1Bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
//Saves the image to the file system an returns the path
String firstFrame = tinydb.putImagePNG("TestFFmpeg", "frame1.png", frame1Bitmap);
String secondFrame = tinydb.putImagePNG("TestFFmpeg", "frame2.png", frame1Bitmap);
String thirdFrame = tinydb.putImagePNG("TestFFmpeg", "frame3.png", frame1Bitmap);
ArrayList<clip> slideFrames = new ArrayList<clip>();
slideFrames.add(new Clip(firstFrame));
slideFrames.add(new Clip(secondFrame));
slideFrames.add(new Clip(thirdFrame));
copyResourceSoundToSDCard();
FfmpegController ffmpegController = null;
try {
ffmpegController = new FfmpegController(getTempDirectory(), new File(""));
ffmpegController.createSlideshowFromImagesAndAudio(slideFrames, getAudioPath(), getOutPath(), 500, mCallbackResponse);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
toast("FileNotFoundException");
toast(e.getLocalizedMessage());
} catch (IOException e) {
// TODO Auto-generated catch block
toast("IOException");
toast(e.getLocalizedMessage());
errorLogView.setText(e.getLocalizedMessage());
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
toast("Exception ");
toast(e.getLocalizedMessage());
}
}
});
}
public Clip getAudioPath(){
Clip mAudPath = null;
try {
mAudPath = new Clip(new File(tinydb.getString("audpath")).getCanonicalPath());
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
return mAudPath;
}
public Clip getOutPath(){
String videoName = ("myTestVideo.mp4");
String saveFolder = ("TestFFmpeg/videos");
String movieFullPath = setupAudioFolder(saveFolder, videoName);
Clip outPath = null;
try {
outPath = new Clip(new File(movieFullPath).getCanonicalPath());
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
tinydb.putString("outhPath", outPath.path);
return outPath;
}
public void copyResourceSoundToSDCard(){
try {
copyRawFile(context, R.raw.screens_shot_sound, getResaveDirectory(), "755");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private File getResaveDirectory(){
String audioName = ("ShotSound.wav");
String saveFolder = ("TestFFmpeg");
File appRootFile;
String path = setupAudioFolder(saveFolder, audioName);
tinydb.putString("audpath", path);
appRootFile = new File(path);
return appRootFile;
}
public String setupAudioFolder(String theFolder, String theImageName){
File sdcard_path = Environment.getExternalStorageDirectory();
File mFolder = new File(sdcard_path, theFolder);
if (!mFolder.exists()) {
if (!mFolder.mkdirs()) {
Log.e("While creatingsave path",
"Default Save Path Creation Error");
// Toast("Default Save Path Creation Error");
}
}
String mFullPath = mFolder.getPath() + '/' + theImageName;
return mFullPath;
}
private static void copyRawFile(Context ctx, int resid, File file, String mode) throws IOException, InterruptedException
{
final String abspath = file.getAbsolutePath();
// Write the iptables binary
final FileOutputStream out = new FileOutputStream(file);
final InputStream is = ctx.getResources().openRawResource(resid);
byte buf[] = new byte[1024];
int len;
while ((len = is.read(buf)) > 0) {
out.write(buf, 0, len);
}
out.close();
is.close();
// Change the permissions
Runtime.getRuntime().exec("chmod "+mode+" "+abspath).waitFor();
}
ShellCallback mCallbackResponse = new ShellUtils.ShellCallback() {
@Override
public void shellOut(String shellLine) {
// TODO Auto-generated method stub
}
@Override
public void processComplete(int exitValue) {
// TODO Auto-generated method stub
toast("process done");
}
};
public File getTempDirectory(){
String saveFolder = ("TestFFmpeg/temp");
File appRootFile = setupCustomFile(saveFolder);
return appRootFile;
}
public File setupCustomFile(String theFolder){
File sdcard_path = Environment.getExternalStorageDirectory();
File mFolder = new File(sdcard_path, theFolder);
if (!mFolder.exists()) {
if (!mFolder.mkdirs()) {
Log.e("While creatingsave path",
"Default Save Path Creation Error");
// Toast("Default Save Path Creation Error");
}
}
return mFolder;
}
public static void toast(String thetext) {
Toast.makeText(context, thetext, Toast.LENGTH_LONG).show();
}
</clip></clip>any help would be appreciated
-
stout to textarea from ffmpeg command
21 septembre 2014, par BrettHi im trying to get the output of a ffmpeg command into a text level here is my code i am posting the lot as im brand new to java and am not sure where ive gone wrong i want to run the command and have the progress bar update and the output to show on a text area.
any help would appreciatedpackage MyPackage;
import java.util.*;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author brett
*/
public class NumberAdditionUI extends javax.swing.JFrame {
private static final long serialVersionUID = 1L;
/**
* Creates new form NumberAdditionUI
*/
public NumberAdditionUI() {
initComponents();
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
//
private void initComponents() {
db = new javax.swing.JFileChooser();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
jTextField1 = new javax.swing.JTextField();
jButton3 = new javax.swing.JButton();
jLabel1 = new javax.swing.JLabel();
jProgressBar1 = new javax.swing.JProgressBar();
jScrollPane1 = new javax.swing.JScrollPane();
jTextArea1 = new javax.swing.JTextArea();
db.setBackground(java.awt.Color.white);
db.setCurrentDirectory(new java.io.File("C:\\Users\\brett\\Documents\\convert"));
db.setDialogTitle("grabAFile");
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("Smoke Goobies");
setMaximumSize(getPreferredSize());
jButton1.setText("Exit");
jButton1.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jButton2.setText("Browse");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});
jTextField1.setText("Select A File To Covert");
jButton3.setText("Run This Puppy");
jButton3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton3ActionPerformed(evt);
}
});
jLabel1.setFont(new java.awt.Font("Goudy Old Style", 1, 56)); // NOI18N
jLabel1.setIcon(jLabel1.getIcon());
jLabel1.setText(" MASHiTuP");
jProgressBar1.setValue(50);
jProgressBar1.setBorder(new javax.swing.border.MatteBorder(null));
jTextArea1.setColumns(20);
jTextArea1.setRows(5);
jTextArea1.setAutoscrolls(false);
jScrollPane1.setViewportView(jTextArea1);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jProgressBar1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 355, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createSequentialGroup()
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 282, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 77, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addComponent(jButton3)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jButton1)))
.addGap(0, 0, Short.MAX_VALUE))
.addComponent(jScrollPane1))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 73, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButton2)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(34, 34, 34)
.addComponent(jProgressBar1, javax.swing.GroupLayout.PREFERRED_SIZE, 24, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 84, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 48, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButton1)
.addComponent(jButton3))
.addContainerGap())
);
jProgressBar1.getAccessibleContext().setAccessibleName("MYsTATUS");
pack();
}//
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
System.exit(0);
}
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
int returnVal = db.showOpenDialog( this );
File f = db.getSelectedFile();
String filename = f.getAbsolutePath();
jTextField1.setText(filename);
}
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
java.lang.Runtime rt = java.lang.Runtime.getRuntime();
java.lang.Process proc = null;
try {
proc = rt.exec("ipconfig");
//proc = rt.exec("ffmpeg -i C:\\Users\\brett\\Documents\\MASH_02.avi C:\\Users\\brett\\Documents\\mash09.avi");
} catch (IOException ex) {
Logger.getLogger(NumberAdditionUI.class.getName()).log(Level.SEVERE, null, ex);
}
BufferedReader stdInput = new BufferedReader(new InputStreamReader(proc.getInputStream()));
BufferedReader stdError = new BufferedReader(new InputStreamReader(proc.getErrorStream()));
// read the output from the command
System.out.println("Here is the standard output of the command:\n");
String s;
try {
while ((s = stdInput.readLine()) != null) {
System.out.println(s);
jTextArea1.append(s+"\n\n");
}
} catch (IOException ex) {
Logger.getLogger(NumberAdditionUI.class.getName()).log(Level.SEVERE, null, ex);
}
// read any errors from the attempted command
System.out.println("Here is the standard error of the command (if any):\n");
try {
while ((s = stdError.readLine()) != null) {
System.out.println(s);
}
} catch (IOException ex) {
Logger.getLogger(NumberAdditionUI.class.getName()).log(Level.SEVERE, null, ex);
}
}
/**
*
* @param args the command line arguments
*/
public static void main(String args[])
{
/*
* Set the Nimbus look and feel
*/
//
/*
* If Nimbus (introduced in Java SE 6) is not available, stay with the
* default look and feel. For details see
* http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(NumberAdditionUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//
/*
* Create and display the form
*/
java.awt.EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
new NumberAdditionUI().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JFileChooser db;
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton3;
private javax.swing.JLabel jLabel1;
private javax.swing.JProgressBar jProgressBar1;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTextArea jTextArea1;
private javax.swing.JTextField jTextField1;
// End of variables declaration
}