愛招飛幫助手冊 愛招飛幫助手冊
  • FastERP-1
  • Smart
  • PinToo
  • FastWeb
  • FastERP-2 企業管理系統 (opens new window)
  • 印染業ERP (opens new window)
  • 工廠終端機 (opens new window)
  • TARS
  • MARS
  • TaskRunner
  • Flying
  • FastDesk
  • HiDesk
  • HiNAT
  • FastBPM
  • 設備故障診斷 (opens new window)
  • 設備最佳運轉效益 (opens new window)
  • 企業智能助手SmeGPT (opens new window)
  • 燈號管理 (opens new window)
  • 戰情室 (opens new window)
  • 能源管理 (opens new window)
  • 人車定位 (opens new window)
  • 戰情指揮系統 (opens new window)
  • FastERP-1
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
  • FastERP-1
  • Smart
  • PinToo
  • FastWeb
  • FastERP-2 企業管理系統 (opens new window)
  • 印染業ERP (opens new window)
  • 工廠終端機 (opens new window)
  • TARS
  • MARS
  • TaskRunner
  • Flying
  • FastDesk
  • HiDesk
  • HiNAT
  • FastBPM
  • 設備故障診斷 (opens new window)
  • 設備最佳運轉效益 (opens new window)
  • 企業智能助手SmeGPT (opens new window)
  • 燈號管理 (opens new window)
  • 戰情室 (opens new window)
  • 能源管理 (opens new window)
  • 人車定位 (opens new window)
  • 戰情指揮系統 (opens new window)
  • FastERP-1
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
  • Smart幫助主頁
  • 學習手冊

  • 開發手冊

    • 通訊協議

    • 互動輸出

    • 媒體存取

      • 文件媒體

        • 網路文件瀏覽
        • 網路視訊播放
        • 視訊錄影
          • 1. 說明
          • 2. 設計明細
          • 3. 程式設計
            • 3.1. 程式初始設定
            • 3.2. 事件設定
          • 4. 運行結果
        • 視訊推流
        • 語音播報
      • 數據存取

      • 遠端監控

    • 人工智慧

    • 實體運用

目录

視訊錄影

# Smart之視訊錄影

# 1. 說明

  範例通過視訊解碼的相關元件實現對視訊的錄製以及轉碼操作,可輸出視訊檔案。

  通過範例學習,可以掌握FSEnCoder錄製視訊的方式,並將其用作錄製工具。

# 2. 設計明細

  開啟Smart智慧控制平臺,分別加入下插圖之控制元件。或者通過點選功能表欄[檔案]-[打開專案]選擇專案打開該範例。

  ①:TMemo元件,控制元件名稱為memoLog。

  ②:TSaveDialog元件,控制元件名稱為SaveDialog1。

  ③:TOpenDialog元件,控制元件名稱為OpenDialog1。

  ④:TFSEnCoder元件,控制元件名稱為FSEnCoder1。

  ⑤:TTimer元件,控制元件名稱為Timer1。

  ⑥:TButton元件,控制元件名稱為Button1。

  ⑦:TButton元件,控制元件名稱為Button2。

  ⑧:TComboBox元件,控制元件名稱為cbDeviceType。

  ⑨:TButton元件,控制元件名稱為Button7。

  ⑩:TButton元件,控制元件名稱為Button3。

  (11):TButton元件,控制元件名稱為Button4。

  (12):TButton元件,控制元件名稱為Button6。

  (13):TButton元件,控制元件名稱為Button5。

  (14):TEdit元件,控制元件名稱為edtFOutFileName。

  (15):TButton元件,控制元件名稱為Button9。

  (16):TCheckBox元件,控制元件名稱為CheckBox1。

  (17):TButton元件,控制元件名稱為Button8。

  • Main窗體屬性設定

    • ClientHeight:窗體客戶區高度=427。
    • ClientWidth:窗體客戶區寬度=627。
  • ①memoLog屬性設定

    • Height:設定圖片高度=355。
    • Width:設定圖片寬度=618。
  • ②SaveDialog1屬性設定

    • Filter:設定檔案過濾選項=全部檔案|*.*。
  • ⑥Button1屬性設定、

    • Height:設定控制元件高度=25。
    • Width:設定控制元件寬度=63。
    • Caption:設定按鈕顯示的文字內容=打開檔案。
  • ⑦Button2屬性設定

    • Height:設定控制元件高度=25。
    • Width:設定控制元件寬度=63。
    • Caption:設定按鈕顯示的文字內容=打開URL。
  • ⑧cbDeviceType屬性設定

    • Name:設定控制元件名稱=cbDeviceType。
    • Height:設定控制元件高度=21。
    • Width:設定控制元件寬度=97。
    • Items:設定下拉框的選項,雙擊該屬性或者點選屬性右側的[...]打開編輯器,輸入選項。
    • ItemIndex:設定預設選擇的選項索引值=0。
  • ⑨Button7屬性設定

    • Height:設定控制元件高度=25。
    • Width:設定控制元件寬度=63。
    • Caption:設定按鈕顯示的文字內容=載入。
  • ⑩Button3屬性設定

    • Height:設定控制元件高度=25。
    • Width:設定控制元件寬度=63。
    • Caption:設定按鈕顯示的文字內容=開始。
  • (11)Button4屬性設定

    • Height:設定控制元件高度=25。
    • Width:設定控制元件寬度=55。
    • Caption:設定按鈕顯示的文字內容=暫停。
  • (12)Button6屬性設定

    • Height:設定控制元件高度=25。
    • Width:設定控制元件寬度=51。
    • Caption:設定按鈕顯示的文字內容=恢復。
  • (13)Button5屬性設定

    • Height:設定控制元件高度=25。
    • Width:設定控制元件寬度=59。
    • Caption:設定按鈕顯示的文字內容=結束。
  • (14)edtFOutFileName屬性設定

    • Height:設定控制元件高度=21。
    • Width:設定控制元件寬度=331。
  • (15)Button9屬性設定

    • Height:設定控制元件高度=25。
    • Width:設定控制元件寬度=75。
    • Caption:設定按鈕顯示的文字內容=播放錄像。
  • (16)CheckBox1屬性設定

    • Caption:設定選擇框顯示的文字內容=預覽。
  • (17)Button8屬性設定

    • Height:設定控制元件高度=25。
    • Width:設定控制元件寬度=43。
    • Caption:設定按鈕顯示的文字內容=選擇。

# 3. 程式設計

# 3.1. 程式初始設定

  該程式無初始設定。

# 3.2. 事件設定

  • ⑥Button1-OnClick事件

  點選[打開檔案]按鈕,彈出選擇檔案對話方塊,選擇檔案后,將輸入檔案的地址回傳給編碼器控制元件。

procedure TMyHandler.Button1Click;
begin
  if FThis.OpenDialog1.Execute(0) then
  begin
     FThis.FSEncoder1.InFileName := FTHis.OpenDialog1.FileName;
  end;
end;
1
2
3
4
5
6
7
  • ⑦Button2-OnClick事件

  點選[打開URL]按鈕,打開輸入URL的對話方塊,選擇後進行URL視訊流的解碼。

procedure TMyHandler.Button2Click;
var
 URL:string;
begin
    if FThis.FSEncoder1.InFileName = '' then
      URL := 'rtmp://58.200.131.2:1935/livetv/dftv'
    else
      URL := FThis.FSEncoder1.InFileName;
    
    if not InputQuery('Open', 'URL(or Filename)', URL) then
      // cancel open url
      Exit;
     FThis.FSEncoder1.InFileName := URL;    
end;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
  • ⑨Button7-OnClick事件

  點選[載入]按鈕,載入視訊。

procedure TMyHandler.Button7Click;
begin
  FThis.FSEncoder1.Load;
end;
1
2
3
4
  • ⑩Button3-OnClick事件

  點選[開始]按鈕,開始進行視訊編碼,如果預覽選項被勾選,則打開界面顯示視訊。

procedure TMyHandler.Button3Click;
begin
   FThis.FSEncoder1.PreviewVideo := FThis.CheckBox1.Checked;
   FThis.FSEncoder1.Start(1);
end;
1
2
3
4
5
  • (11)Button4-OnClick事件

  點選[暫停]按鈕,暫停視訊的編碼播放。

procedure TMyHandler.Button4Click;
begin
  FThis.FSEncoder1.Pause;
end;
1
2
3
4
  • (12)Button6-OnClick事件

  點選[恢復]按鈕,恢復視訊的編碼播放。

procedure TMyHandler.Button6Click;
begin
  FThis.FSEncoder1.Resume;
end;
1
2
3
4
  • (13)Button5-OnClick事件

  點選[結束]按鈕,停止視訊的編碼播放。

procedure TMyHandler.Button5Click;
begin
  FThis.FSEncoder1.Stop;
end;
1
2
3
4
  • ⑧cbDeviceType-OnChange事件

  點選設備型別下拉框,選擇對應的設備型別。

procedure TMyHandler.cbDeviceTypeChange;
begin
   if FThis.cbDeviceType.Text = 'dtCamera' then
   begin
      FThis.FSEncoder1.DeviceType := dtCamera;
   end
   else if FThis.cbDeviceType.Text = 'dtDesktop' then
   begin
      FThis.FSEncoder1.DeviceType := dtdesktop;
   end
   else if FThis.cbDeviceType.Text = 'dtFile' then
   begin
      FThis.FSEncoder1.DeviceType := dtFile;
   end
   else if FThis.cbDeviceType.Text = 'dtWeb' then
   begin
      FThis.FSEncoder1.DeviceType := dtWeb;
   end;
end;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
  • ⑤Timer1-OnTimer事件

  計時器觸發事件,每隔一秒更新日誌內容至日誌編輯框中。

procedure TMyHandler.Timer1Timer;
begin
  FThis.memoLog.Lines.Assign(FThis.FSEncoder1.Log);
end;
1
2
3
4
  • (17)Button8-OnClick事件

  點選[選擇]按鈕,打開檔案儲存選項的對話方塊,在其中選擇目錄后確認返回,將輸出的檔案目錄傳遞至檔案輸出文字框中。

procedure TMyHandler.Button8Click;
begin
 if FThis.SaveDialog1.Execute(0) then
 begin
   FThis.edtFOutFileName.Text := FThis.SaveDialog1.FileName;
   FThis.FSEncoder1.OutFileName := FThis.edtFOutFileName.Text;
 end;
end;
1
2
3
4
5
6
7
8
  • (15)Button9-OnClick事件

  點選[播放錄像]按鈕,打開檔案輸出目錄中的檔案以進行視訊播放。

procedure TMyHandler.Button9Click;
var
 T:TForm;
 F:TFSPlayer;
 P:TPanel;
begin

 T := TForm.Create(nil);
 try
   T.Position := poScreenCenter;
   T.BorderStyle := bsDialog; 
   T.Caption := FThis.FSEncoder1.OutFileName;
   F:=TFSPlayer.Create(T);
   P:=TPanel.Create(T);
   P.Parent := T;
   P.Align := alClient;
   F.VideoPanel := P.Name;
   F.Open(FThis.FSEncoder1.OutFileName,false);
   T.ShowModal;
 finally
   T.Free;
 end;
end;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

# 4. 運行結果

  通過工具欄儲存,將程式儲存為 sdb 專案檔案。

  使用滑鼠點選工具欄運行(Run),測試運行結果。

  程式運行后,在設備型別處選擇輸入視訊源的型別,如果是本地視訊則選擇dtFile,並點選[打開檔案]按鈕以選擇視訊檔案;如果是網路視訊則選擇dtWeb,並點選[打開URL],在對話方塊中輸入地址。

dtCamera表示視訊源來自於相機,dtDesktop表示視訊源來自於桌面。選擇完成後,點選[載入]按鈕,在日誌欄中如果出現Can do convert說明視訊載入成功,可以進行編解碼操作。點選[開始]按鈕進行編解碼操作,並將解碼的視訊按鈕格式重新進行編碼輸出至指定的目錄。如果預覽被勾選則會顯示視訊預覽界面。在編解碼的過程中可以選擇[暫停]、[恢復]、[結束]按鈕進行對應操作。在視訊編解碼操作結束后,可點選[播放錄像]打開對話方塊檢視錄製的視訊。

網路視訊播放
視訊推流

← 網路視訊播放 視訊推流→

Copyright © 2021-2025 愛招飛IsoFace | ALL Rights Reserved
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式