videoCmd.java 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. package com.face;
  2. import java.io.BufferedReader;
  3. import java.io.IOException;
  4. import java.io.InputStream;
  5. import java.io.InputStreamReader;
  6. public class videoCmd {
  7. private BufferedReader reader;
  8. public void exe(){
  9. try {
  10. String ffmpegPath = "D:\\program\\ffmpeg\\ffmpeg-4.3.1-2021-01-01-essentials_build\\bin\\ffmpeg.exe";
  11. // 执行tail -f命令
  12. Process process = Runtime.getRuntime().exec( ffmpegPath + " -ss 0:05 -i e:/20211223123223_76639ced-6400-11ec-b8f9-fa163e4e1e9f.mp4 -t 10 -c:v copy -c:a copy e:/555.mp4 ");
  13. InputStream inputStream = process.getInputStream();
  14. // // 一定要启动新的线程,防止InputStream阻塞处理WebSocket的线程
  15. TailLogThread thread = new TailLogThread(inputStream);
  16. thread.start();
  17. } catch (IOException e) {
  18. e.printStackTrace();
  19. }
  20. }
  21. public static void main(String[] args) {
  22. new videoCmd().exe();
  23. }
  24. class TailLogThread extends Thread {
  25. private BufferedReader reader;
  26. public TailLogThread(InputStream in) {
  27. this.reader = new BufferedReader(new InputStreamReader(in));
  28. }
  29. @Override
  30. public void run() {
  31. String line;
  32. try {
  33. while((line = reader.readLine()) != null) {
  34. System.out.println(line);
  35. }
  36. } catch (IOException e) {
  37. e.printStackTrace();
  38. } finally {
  39. if(reader != null){
  40. try {
  41. reader.close();
  42. } catch (Exception e){
  43. e.printStackTrace();
  44. }
  45. }
  46. }
  47. }
  48. }
  49. }