カメラの映像を通してffmepg研究エントリの3つのJava傍受

1.準備

      カメラ、UOB例えば、カンにあり接続することができます

   ffmpegのダウンロード:https://blog.csdn.net/qq_16855077/article/details/89839708

   例えばここでは、あまりにも多くの説明各ブランド別のURLをRTSP以下

   RTSP://管理者:[email protected]:?554 /ストリーミング/チャンネル/ 101 transportmode =ユニキャスト

 

 2.スクリーンショット


  
  
  1. パッケージcom.qihui.qxj.services.system。
  2. インポートにjava.io.IOException;
  3. 輸入java.io.InputStreamを。
  4. 輸入はjava.util.ArrayList;
  5. 輸入はjava.util.List;
  6. 輸入org.junit.Test;
  7. パブリック クラス Test1を {
  8. @ テスト
  9. 公共 のボイド TEST1 ){
  10. リスト称賛= 新しい ArrayListを();
  11. 褒める。 追加 "C:/bin/ffmpeg.exeを" );
  12. 褒める。 追加 "-i" );
  13. 褒める。 追加 "RTSP://管理者:[email protected]:?554 /ストリーミング/チャンネル/ 101 transportmode =ユニキャスト" );
  14. 褒める。 追加 "-s"を )。
  15. 褒める。 追加 "* 1800 4096" );
  16. 褒める。 追加 "-b" );
  17. 褒める。 追加 "4M" )。
  18. 褒める。 アドオン "-y" );
  19. 褒める。 追加 "-f" )。
  20. 褒める。 アドオン "画像2" );
  21. 褒める。 追加 "-an" )。
  22. 褒める。 追加 "-loglevel" );
  23. 褒める。 追加 "8" );
  24. 褒める。 追加 "D:/project/direct/40/a1.jpg" );
  25. プロセスP = ヌル ;
  26. してみてください {
  27. ProcessBuilderをビルダー= 新しい ProcessBuilderを(称賛)。
  28. builder.command(称賛)。
  29. P = builder.start()。
  30. 。p.getOutputStream()に近いです();
  31. doWaitFor(P)。
  32. p.destroy();
  33. システム。 アウト .println( 1122 );
  34. } キャッチ (例外e){
  35. PrintCatchErrorMsg.Print(E、 "パート" "getRSTPPicture.catch" "例外" );
  36. p.destroy();
  37. }
  38. }
  39. パブリック 静的 INT doWaitForプロセスP {
  40. InputStream = nullを
  41. InputStream ERR = ヌル ;
  42. int型 exitValue = -1 ;
  43. してみてください {
  44. p.getInputStream =();
  45. ERR = p.getErrorStream()。
  46. ブール完成= ;
  47. しばらく {(!完成)
  48. してみてください {
  49. 文字c;
  50. 一方、 (.available)> 0 ){
  51. C = 新しい 文字(( 文字 .read());
  52. システム。 アウト .PRINT(C);
  53. }
  54. 一方、 (err.available()> 0 ){
  55. C = 新しい 文字(( CHAR )err.read());
  56. システム。 アウト .PRINT(C);
  57. }
  58. exitValue = p.exitValue()。
  59. 完成= ;
  60. } キャッチ (ないIllegalThreadStateExceptionのvar19){
  61. Thread.currentThread();
  62. Thread.sleep( 500 L)。
  63. }
  64. }
  65. } キャッチ (例外var20){
  66. } 最終的には {
  67. してみてください {
  68. もし != nullの ){
  69. .close();
  70. }
  71. } キャッチ (のIOExceptionのvar18){
  72. }
  73. もし (ERR!= nullの ){
  74. してみてください {
  75. err.close();
  76. } キャッチ (のIOExceptionのvar17){
  77. }
  78. }
  79. }
  80. 返す exitValueを。
  81. }
  82. }

 C:/bin/ffmpeg.exe ffmepeg位置

 -iアドレス

-s決議

-b率

ファイルが存在する場合-y、その後、交換してください

 

 

注:内部環境はスクリーンショット、スクリーンショットは、外部のネットワーク環境を失敗することができれば、あなたは、TCPへの合意を入れて2行のコードを追加する必要があります


  
  
  1. 褒める。 add( "-rtsp_transport");
  2. commend. add( "tcp");

 

转载自:https://blog.csdn.net/qq_16855077/article/details/90207118

发布了42 篇原创文章 · 获赞 115 · 访问量 1万+

1.准备

おすすめ

転載: blog.csdn.net/luoyong_blog/article/details/104497416