@@ -38,72 +38,32 @@ int CALLBACK Test_MediaCallBack(XSDK_HANDLE hMedia, const unsigned char *pData, | |||
} | |||
int TestMediaRealPlay() | |||
int TestMediaRealPlay(XSDK_HANDLE hDevice,int dPos) | |||
{ | |||
printf("MediaRealPlay %s\r\n", __FUNCTION__); | |||
XSDK_HANDLE hPlayer[6] ; | |||
XSDK_HANDLE hPlayer ; | |||
bool bPause = false; | |||
int nSpeed = 0; | |||
char c = 0; | |||
int size = sizeof(hDeviceArr) / sizeof(hDeviceArr[0]); | |||
//while((c = getchar()) != 'q') | |||
//{ | |||
// switch(c) | |||
// { | |||
// case 's': | |||
if(size==6) | |||
if (hDevice) | |||
{ | |||
for (int i = 0; i < size; i++) | |||
{ | |||
if (hPlayer[i]) | |||
{ | |||
XSDK_MediaStop(hPlayer[i]); | |||
hPlayer[i] = 0; | |||
} | |||
} | |||
for (int i = 0; i < size; i++) | |||
{ | |||
SXMediaRealPlayReq param = { 0 }; | |||
param.nChannel = 0; | |||
param.nStreamType = 0; | |||
param.nRequestType = EXSDK_DATA_FORMATE_FRAME; | |||
param.pMediaCallback = Test_MediaCallBack; | |||
param.pUserData = (void *)DeviceIdArr[i]; | |||
hPlayer[i] = XSDK_MediaRealPlay(hDeviceArr[i], ¶m); | |||
bPause = false; | |||
nSpeed = 0; | |||
printf("play hMedia:: %x\r\n", hDeviceArr[i]); | |||
XSDK_DevSynTime(hDeviceArr[i], "", 1); | |||
} | |||
XSDK_MediaStop(hDevice); | |||
} | |||
// break; | |||
// case 't': | |||
// { | |||
// for (int i = 0; i < size; i++) | |||
// { | |||
// if (hPlayer[i]) | |||
// { | |||
// XSDK_MediaStop(hPlayer[i]); | |||
// hPlayer[i] = 0; | |||
// } | |||
// } | |||
// | |||
// } | |||
// break; | |||
// } | |||
//} | |||
//for (int i = 0; i < size; i++) | |||
//{ | |||
// if (hPlayer[i]) | |||
// { | |||
// XSDK_MediaStop(hPlayer[i]); | |||
// hPlayer[i] = 0; | |||
// } | |||
//} | |||
SXMediaRealPlayReq param = { 0 }; | |||
param.nChannel = 0; | |||
param.nStreamType = 0; | |||
param.nRequestType = EXSDK_DATA_FORMATE_FRAME; | |||
param.pMediaCallback = Test_MediaCallBack; | |||
param.pUserData = (void *)DeviceIdArr[dPos]; | |||
hPlayer= XSDK_MediaRealPlay(hDevice, ¶m); | |||
bPause = false; | |||
nSpeed = 0; | |||
printf("play hMedia:: %x\r\n", hDevice); | |||
XSDK_DevSynTime(hDevice, "", 1); | |||
return 0; | |||
} |
@@ -73,6 +73,7 @@ int CALLBACK Main_MessageCallBack(XSDK_HANDLE hDevice, int nMsgId, int nParam1, | |||
{ | |||
OnDASDeviceReg(hDevice, (SXSDKDASDeviceInfo *)pObject,dPos); | |||
dPos++; | |||
TestMediaRealPlay(hDevice,dPos); | |||
} | |||
} | |||
break; | |||
@@ -157,7 +158,7 @@ int main(int argc, char *argv[]) | |||
//TestDevAlarmCallback(); | |||
//// 测试实时视频 | |||
TestMediaRealPlay(); | |||
//TestMediaRealPlay(); | |||
//// 设备录像回放 | |||
// TestMediaRecordPlay(); | |||
@@ -42,7 +42,7 @@ int TestDevAlarmCallback(); | |||
void OnDevAlarmCallback(XSDK_HANDLE hDevice, const char *szAlarm); | |||
// 测试实时视频 | |||
int TestMediaRealPlay(); | |||
int TestMediaRealPlay(XSDK_HANDLE hDevice,int dPos); | |||
// 设备录像回放 | |||
int TestMediaRecordPlay(); | |||
@@ -31,29 +31,29 @@ def convert(origin, target): | |||
cmd = 'ffmpeg -i {0} -c copy {1}'.format(origin, target) | |||
print("cmd:: {0}".format(cmd)) | |||
args = shlex.split(cmd) | |||
#status, output = sp.getstatusoutput(cmd) | |||
#print("status:: {0}, output {1}".format(status, output)) | |||
#if status ==0: | |||
# print("{0} convert {1} Success, origin dat will remove!".format(origin, target)) | |||
# os.remove(origin) | |||
#else: | |||
# print("{0} convert fail".format(origin)) | |||
proc = sp.Popen(args, stdin=sp.PIPE, stdout=sp.PIPE, stderr=sp.PIPE) | |||
answer = b'Overwrite ? [y/N]' | |||
try: | |||
outs, errs = proc.communicate() | |||
print(outs, errs) | |||
print("answer in outs : {0}".format(answer in errs)) | |||
if answer in errs: | |||
print('write y') | |||
# proc.stdin.write(b'y') | |||
if proc.returncode == 0: | |||
print("{0} convert {1} Success, origin dat will remove!".format(origin, target)) | |||
os.remove(origin) | |||
else: | |||
print("{0} convert fail".format(origin)) | |||
except sp.TimeoutExpired: | |||
proc.kill() | |||
status, output = sp.getstatusoutput(cmd) | |||
print("status:: {0}, output {1}".format(status, output)) | |||
if status ==0: | |||
print("{0} convert {1} Success, origin dat will remove!".format(origin, target)) | |||
os.remove(origin) | |||
else: | |||
print("{0} convert fail".format(origin)) | |||
# proc = sp.Popen(args, stdin=sp.PIPE, stdout=sp.PIPE, stderr=sp.PIPE) | |||
# answer = b'Overwrite ? [y/N]' | |||
# try: | |||
# outs, errs = proc.communicate() | |||
# print(outs, errs) | |||
# print("answer in outs : {0}".format(answer in errs)) | |||
# if answer in errs: | |||
# print('write y') | |||
# # proc.stdin.write(b'y') | |||
# if proc.returncode == 0: | |||
# print("{0} convert {1} Success, origin dat will remove!".format(origin, target)) | |||
# os.remove(origin) | |||
# else: | |||
# print("{0} convert fail".format(origin)) | |||
# except sp.TimeoutExpired: | |||
# proc.kill() | |||
if __name__ == "__main__": | |||