如何在监视器上叠加字幕?(200分)

  • 主题发起人 主题发起人 lkpc
  • 开始时间 开始时间
L

lkpc

Unregistered / Unconfirmed
GUEST, unregistred user!
硬件系统大概结构:多台监视器除了接受摄像头信息外,还一起连接到一个装置上暂且称为字幕机吧(后面有多个插头,我只简单看了一眼不知道它叫什么),此字幕机连接到一台电脑上,可以从电脑上向任何一台监视器发送信息并显示在对应的监视器上。

有类似经验的朋友不妨介绍一下,硬件系统是如何构成的,如何向监视器发送字幕?
非常感谢!
 
硬件系统为字幕叠加器,可收索 OSD
 
var
Form1: TForm1;
bSucc: Boolean;//判断是否为字幕卡
Wsa: TWSAData;
addr_to: sockaddr_in;
FSocket: TSocket;


implementation
uses IdGlobal,IdStack,StrUtils;
const
UdpBroadCastPort:integer=2854;//5555;//7777;//广播端口
UdpScreenMainPort:integer=2059;//6666;//8888;//屏幕传输端口

SystemMsg_Online:String='Online';
SystemMsg_Offline:String='Offline';

SystemMsg_ShowScrText:String='ShowScrText';
SystemMsg_HideScrText:String='HideScrText';

ErrMsg_SockInit:Pchar='初始化WinSocket失败!请检查您是否安装了网卡及TCP/IP协议!';
ErrMsg_SockBroadCast:Pchar='绑定网络广播失败!请检查您是否安装了网卡及TCP/IP协议,是否连接上网络!';
ErrMsg_ScreenConnet:Pchar='无法与主机建立连接!';

..............
procedure TForm1.ShowTextToScr(Str:String);
var
letters: array[0..249, 0..1] of byte;
letters_num: byte;
checksum: byte;
instring: string;
a1, a2, m, n, i: integer;
t: dword;
begin
letters_num := length(Str) div 2;
if letters_num > 0 then
for i := 1 to letters_num do
begin
a1 := ord(Str[i * 2 - 1]);
a1 := a1 * 256 + ord(Str[i * 2]);
a2 := a1 + 24159 + 256;
m := Trunc(a2 / 256);
n := a2 - m * 256 + 1;
letters[i - 1, 0] := m;
letters[i - 1, 1] := n;
end;

bSucc:=False;

SendDataToPort('AA');
//MSComm1.Output:=Char($AA);//$AA+$0d;//OutPut属性只写入缓冲区,并没有发出去.必须写入回车符.
while MSComm1.OutBufferCount>0 do Application.ProcessMessages;//如果写操作没有完成则等待
t:=GetTickCount;
While GetTickCount-t<1000 do
begin
if bSucc then Break;//成功返回
Application.ProcessMessages;
end;

SendDataToPort(inttohex(letters_num,0));
while MSComm1.OutBufferCount>0 do Application.ProcessMessages;//如果写操作没有完成则等待 }

checksum := letters_num;
for i := 1 to letters_num do
begin
checksum := checksum xor letters[i - 1, 0];
SendDataToPort(inttohex(letters[i - 1, 0],0));

checksum := checksum xor letters[i - 1, 1];
............
 
感谢楼上两位朋友。
咨询一下:硬件是如何组成的?
是否如下:
字幕卡(内置,有SDK控制?)—》字幕叠加器—》监视器
硬件是怎么连接的
谢谢!
 
回收部分分数吧!
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
898
DelphiTeacher的专栏
D
后退
顶部