라벨이 DirectShow인 게시물 표시

DirectShow 기본 Cam 프로그램

이미지
  DirectShow 기본 Cam 프로그램 DirectShow 기본 클래스 ​필더그래프 생성, Com 초기화 필더생성 필더 핀 연결 캠(WebCam) 장치 가져오기 DSUtils 는 DSPack 에 포함된 소스 입니다. ---- 소스코드 unit uBaseDShow; interface uses   Winapi.Windows,   {DirectShow 헤더와 ActiveX 헤더 추가}   Winapi.ActiveX, Winapi.DirectShow9, DSUtils; type   TBaseDShow = class(TObject)   private   public     FilterGraph: IGraphBuilder; // 필터그래프의 인터페이스 중의 하나.     MediaControl: IMediaControl;     VideoWindow: IVideoWindow;     constructor Create;     destructor Destroy; override;     function CreateFilterGraph(var Graph: IGraphBuilder): Boolean;     function CreateFilter(const clsid: TGUID; var Filter: IBaseFilter): Boolean;     function FindPinOnFilter(const Filter: IBaseFilter; const PinDir: TPinDirection; var Pin: IPin): HRESULT;     function GetCamFilter: IBaseFilter;   end; implementation { TBaseDShow } constructor TBaseDShow.Create; begin ...

SmallPlayer : 동영상 재생기

이미지
  초기버전 자작 프로그램 을 소개합니다. SmallPlayer 예전에 곰플레이어, 다음 팟플레이어 등을 동영상 플레이어로 사용했는데 계속 업데이트되면서 광고가 생기더라고요 물론 무료 플레이어라서 어느 정도 광고가 붙는 건 이해하겠지만 약간 귀찮더라고요. 그래서 다른 플레이어를 알아보던 중 예전에 DirectShow 사용해서 만들어놓은 기초 소스가 있으니 조금 더 업그레이드해서 만들어서 쓰자는 생각이 들어 프로그램을 작성하게 되었습니다. 작업을 하다 보니 일이 커지는데 기존에 저는 주로 재생만 하다 보니 재생만 되면 될 거 같았었는데 생각보다 신경 써야 할게 많네요. 테스트 버전 스크린샷 – 동영상은 지금 만나러 갑니다 설명 DirectShow 기반의 미디어 플레이어이며 기능이 단순한 플레이어입니다. LAV 필터와, DirectVobSub(자막 필터)를 사용하여 단순하게 동영상 재생을 하는 플레이어이며. LAV 필터를 사용하니 따로 코덱을 설치하지 않아도 여러 동영상을 재생할 수 있고 DirectVobSub를 이용하여 자막을 표시합니다. 우선 v0.1로 재생 기능만 있는데 틈틈이 업그레이드할 계획입니다. 어느정도 완성한 버전 – 동영상은 지금 만나러 갑니다 공개하기 부끄럽네요. 아직 구현하고 싶은 부분이 많아서 지금은 재생만 되기 때문에 제가 사용하는 데에는 문제가 없는데 구현해야 할 부분이 많은데 시간이 없네요.. 취미로 하는 거라서!!!!! 소스가 필요하신 분은 연락 주세요!!!! 앞으로 추가할기능 디자인 Windows10 기준으로 변경 전체화면 재생기능 추가 키 이벤트 스페이스:정지,재생, 화살표 +5초, -5초 숫자키 이벤트 : 1(화면 크기50%),2(화면크기100%),3(화면크기150%)

DirectShow 동영상 재생기 자막 기능 추가

이미지
  DirectShow 동영상 재생기 https://skshpapa80.blogspot.com/2013/03/delphi-directshow.html Delphi 로 작성되었으며 DirectShow 프로그래밍 강좌를 하면서 ​만들게된 간단한 동영상 재생기 소스 입니다. ​기존 소스는 자막 기능을 지원하지 않아 일드나 미드를 볼 수 없는데 ​이번 버전으로는 볼 수 있겠네요! ​자막 기능은 인터넷에서 구한 소스를 이용했습니다. ​추가된 자막 소스 : uSAMI.pas 보통의 동영상 플레이어 처럼 재생을 선택한 파일의 자막(.smi) 을 찾아 자동으로 불러와 panel 컴포넌트에 표시하는 소스가 포함되어 있습니다. 트래바를 이동할경우 동영상의 위치를 찾아가면서 자막도 위치를 변경합니다. 다음에는 자막을 화면 위에 뿌려봐야겠네요^^ 자막을 화면에 뿌리려면 overlaly 를 구현해야 겠네요 그리고 소스는 github에 올렸어요! 앞으로 수정되는데로 바로바로 커밋해볼께요 !!! https://github.com/skshpapa80/BasePlayer

[Delphi] DirectShow 강좌

이미지
  DirectShow를 이용한 동영상 플레이 시키는 방법을 소개합니다. Delphi XE 이상에서 컴파일 가능합니다. 준비(폼디자인) 1. 먼저 VCL Forms Application 을 생성합니다. 프로젝트를 저장하고 폼위에 Panel 컴포넌트를 올립니다. Screen 으로 사용할 패널입니다. ​ Screen Panel의 Caption 을 지우고 Align 프로퍼티를 alClient 로 설정합니다. 그리고 Panel 을 하나 더 올립니다. 버튼올릴 패널입니다. Caption 을 지우고 Align 프로퍼티를 alBotton으로 설정합니다. 코딩 2. uses 절에 Winapi.DirectShow9, Winapi.ActiveX 를 추가합니다. 3. private 절에 동영상 플레이어에서 사용할 기본 개체를 선언합니다. FilterGraph: IGraphBuilder; //필터그래프의 인터페이스 중의 하나. MediaControl: IMediaControl; // 미디어 제어 인터페이스 Play, Stop, Pause. VideoWindow: IVideoWindow; // 영상 제어 인터페이스 4. Form Create 이벤트에서 CoInitialize(nil); //COM을 초기화한다 6. 폼위에 버튼을 올린 후 Click 이벤트에 변수 선언을 한 후 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 var   WFileName : Array[0..255] of WideChar;   PFileName : PWideChar; begin   StringToWideChar('재생할 파일경로+파일명',WFileName,255);   PFileName := @WFileName[0];     // 동영상 파일을 Render...