Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Ekran Yakalama
#1
Merhabalar,


Bu kodlarla bir videoyu rtmp gönderirken: 
procedure TForm1.Button1Click(Sender: TObject);
var
  FFmpegPath: string;
  Params: string;
  SI: TStartupInfo;
  PI: TProcessInformation;
  CmdLine: string;
  VideoPath: string;
begin
  FFmpegPath := 'C:\ffmpeg\ffmpeg.exe'; // FFmpeg tam yolu
  VideoPath := 'C:\ffmpeg\input.mp4';     // video dosyasının yolu

  if not FileExists(FFmpegPath) then
  begin
    ShowMessage('FFmpeg.exe bulunamadı! Yolu kontrol edin.');
    Exit;
  end;

  if not FileExists(VideoPath) then
  begin
    ShowMessage('Video dosyası bulunamadı: ' + VideoPath);
    Exit;
  end;

  Params := '-re -i "' + VideoPath + '" ' +            // -re ile gerçek zamanlı okuma 
            '-c:v libx264 -preset ultrafast -tune zerolatency ' +
            '-pix_fmt yuv420p -g 60 -b:v 2500k ' +
            '-f flv "rtmp **************************"';

  ZeroMemory(@SI, SizeOf(SI));
  ZeroMemory(@PI, SizeOf(PI));
  SI.cb := SizeOf(SI);
  SI.dwFlags := STARTF_USESHOWWINDOW;
  SI.wShowWindow := SW_SHOW;  // Konsol penceresi görünsün

  CmdLine := '"' + FFmpegPath + '" ' + Params;

  if not CreateProcess(nil, PChar(CmdLine), nil, nil, False, CREATE_NEW_CONSOLE, nil, nil, SI, PI) then
  begin
    ShowMessage('FFmpeg başlatılamadı: ' + SysErrorMessage(GetLastError));
    Exit;
  end;

  CloseHandle(PI.hProcess);
  CloseHandle(PI.hThread);

  ShowMessage('FFmpeg penceresini kapatmayın.');
end;



Masaüstü veya Pencere rtmp gönderemiyorum: 
procedure TMainForm.Button1Click(Sender: TObject);
var
  FFmpegPath: string;
  Params: string;
  SI: TStartupInfo;
  PI: TProcessInformation;
  CmdLine: string;
  WindowTitle: string;
begin
  FFmpegPath := 'C:\ffmpeg\ffmpeg.exe';

  WindowTitle := 'Form1'; // Yakalamak istediğin pencerenin tam başlığı

  if not FileExists(FFmpegPath) then
  begin
    ShowMessage('FFmpeg.exe bulunamadı! Yolu kontrol edin.');
    Exit;
  end;

  // ffmpeg parametreleri: pencere yakala, bitrate yeterli, RTMP yayın
  Params := Format(
    '-f gdigrab -framerate 10 -i title="%s" -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" ' +
    '-c:v libx264 -preset ultrafast -tune zerolatency -pix_fmt yuv420p -g 60 -b:v 2500k ' +
    '-f flv "rtmp**********************"',
    [WindowTitle]);

  ZeroMemory(@SI, SizeOf(SI));
  ZeroMemory(@PI, SizeOf(PI));
  SI.cb := SizeOf(SI);
  SI.dwFlags := STARTF_USESHOWWINDOW;
  SI.wShowWindow := SW_SHOW;

  CmdLine := '"' + FFmpegPath + '" ' + Params;

  if not CreateProcess(nil, PChar(CmdLine), nil, nil, False, CREATE_NEW_CONSOLE, nil, nil, SI, PI) then
  begin
    ShowMessage('FFmpeg başlatılamadı: ' + SysErrorMessage(GetLastError));
    Exit;
  end;


  CloseHandle(PI.hProcess);
  CloseHandle(PI.hThread);

  ShowMessage('FFmpeg penceresini kapatmayın.');
end;

Konu hakkında yardımlarınızı rica ederim.
Cevapla


Bu Konudaki Yorumlar
Ekran Yakalama - Yazar: Coban - 26-05-2025, Saat: 00:10
Ekran Yakalama - Yazar: COMMANDX - 26-05-2025, Saat: 00:35
Cvp: Ekran Yakalama - Yazar: Coban - 26-05-2025, Saat: 13:45

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Delphi FMX Enter tuşu (dpad_center) yakalama tarkancengiz 10 2.389 05-03-2026, Saat: 10:26
Son Yorum: RAD Coder
Thumbs Up Android Tam Ekran konusunda bir örnektir. mrmarman 13 3.089 16-04-2025, Saat: 06:21
Son Yorum: barissagir
  Tam ekran sorunu Altıner 31 5.474 25-01-2025, Saat: 16:29
Son Yorum: mrmarman
  PasLibVlc Siyah Ekran Mete 12 2.992 07-05-2024, Saat: 23:16
Son Yorum: mrmarman
  Mapview üzerinde splash ekran logo sorunu arsl01 4 1.867 05-12-2023, Saat: 23:00
Son Yorum: arsl01



Konuyu Okuyanlar: 1 Ziyaretçi