123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 |
- # -*- coding: UTF-8 -*-
- import sys
- import os
- from os import path, access, R_OK
- import subprocess
- import thread
- from ssat_sdk.device_manage.dektec_manager import *
- '''
- DTV播放器,汇总各种设备进行DTV信号输出
- '''
- class StreamCard_SCBC():
- def __init__(self):
- self.dektecMgr = DektecManager()
- self.cmdline = self.dektecMgr.cmdline
- def getCmdLine(self):
- return self.dektecMgr.cmdline
- def playStream(self, streamFile, times, type, channelPoint):
- self.dektecMgr.playStream(streamFile, times, type, channelPoint)
- def playStreamAtThread(self, streamFile, times, type, channelPoint ):
- thread.start_new_thread(self.dektecMgr.playStreamAtThread,(streamFile,times, type, channelPoint))
- # self.dektecMgr.playStreamAtThread(streamFile, times, type, channelPoint)
- def isPlaying(self):
- return self.dektecMgr.isPlaying()
- def interrupt(self):
- self.dektecMgr.interrupt()
- def taskkill(self):
- self.dektecMgr.taskkill()
- def set_cmd_clear(self):
- self.dektecMgr.set_cmd_clear()
- def set_playfile(self, playfile):
- # 码流文件
- self.dektecMgr.set_playfile(playfile)
- def set_Device_type(self, type):
- # 设备选择
- self.dektecMgr.set_Device_type(type)
- def set_Modulation_carrier_frequency(self, frequency):
- # 频点
- self.dektecMgr.set_Modulation_carrier_frequency(frequency)
- '''
- type:
- ATSC ATSC modulation
- CMMB CMMB modulation
- DAB DAB modulation
- DTMB DTMB modulation
- DVBS DVB-S QPSK modulation
- DVBS2_16APSK DVB-S.2 16APSK modulation
- DVBS2_32APSK 32APSK modulation
- DVBS2_8PSK DVB-S.2 8PSK modulation
- DVBS2_QPSK DVB-S.2 QPSK modulation
- DVBS2_L3 DVB-S.2 L3 modulation
- DVBT DVB-T/H modulation
- ISDBS ISDB-S modulation
- ISDBT ISDB-T modulation
- IQ IQ direct
- QAM4 QAM-4 modulation
- QAM16 QAM-16 modulation
- QAM32 QAM-32 modulation
- QAM64 QAM-64 modulation
- QAM128 QAM-128 modulation
- QAM256 QAM-256 modulation
- T2MI T2MI modulation
- '''
- def set_Modulation_type(self, Modulation_type):
- # 制式选择
- self.dektecMgr.set_Modulation_type(Modulation_type)
- def set_Modulation_bandwidth(self, Modulation_bandwidth):
- # 带宽
- self.dektecMgr.set_Modulation_bandwidth(Modulation_bandwidth)
- def set_Modulation_transmission_mode(self, transmission_mode):
- # 载波数
- self.dektecMgr.set_Modulation_transmission_mode(transmission_mode)
- def set_Modulation_constellation (self, constellation ):
- # 调制方式
- self.dektecMgr.set_Modulation_constellation(constellation)
- def set_Modulation_guard_interval(self, guard_interval):
- # 保护间隔
- self.dektecMgr.set_Modulation_guard_interval(guard_interval)
- def set_Modulation_Convolutional_rate(self, Convolutional_rate):
- # 信号纠错码
- self.dektecMgr.set_Modulation_Convolutional_rate(Convolutional_rate)
- def set_Modulation_Output_level(self, Output_level):
- # 信号强度
- self.dektecMgr.set_Modulation_Output_level(Output_level)
- def set_loop_times(self, loop_times):
- # 播放次数
- self.dektecMgr.set_loop_times(loop_times)
- def set_rate(self, rate):
- # 输出码率
- self.dektecMgr.set_rate(rate)
- def play_out(self):
- thread.start_new_thread(self.dektecMgr.play_out,())
- # self.dektecMgr.play_out()
- def play_out_wait(self):
- self.dektecMgr.play_out_wait()
- def DtPlay_exe_CMD(self, str):
- self.dektecMgr.DtPlay_exe_CMD(str)
- def DtPlay_exe_CMD_wait(self, str):
- self.dektecMgr.DtPlay_exe_CMD_wait(str)
- def help(self):
- self.dektecMgr.help()
- def __del__(self):
- self.dektecMgr.__del__()
- # ------------------------------------------------------------------------------
- if __name__ == "__main__":
- scscbc = StreamCard_SCBC()
- streamFile = r"D:\test\482_1218_105425.ts"
- times = 1
- type = "DTMB"
- channelPoint = "52.5MHz"
- # scscbc.playStream( streamFile, times, type, channelPoint)
- # scscbc.help()
- # scscbc.DtPlay_exe_CMD( streamFile + " -mt DTMB -mf 52.5MHz")
- # 按照 SteamXpress 界面的设置
- scscbc.set_playfile(streamFile)
- scscbc.set_Device_type("215")
- scscbc.set_Modulation_carrier_frequency("578MHz")
- scscbc.set_Modulation_type("DVBT")
- scscbc.set_Modulation_bandwidth("8")
- scscbc.set_Modulation_transmission_mode("8k")
- # scscbc.set_Modulation_constellation("QAM64")
- scscbc.set_Modulation_constellation("QPSK")
- scscbc.set_Modulation_guard_interval("1/32")
- scscbc.set_Modulation_Convolutional_rate("7/8")
- scscbc.set_Modulation_Output_level("-90dBm")#单位可以不写,前面的负号"-"一定要写
- scscbc.set_loop_times("0")
- scscbc.set_rate("18661765")
- print scscbc.dektecMgr.cmdline
- # 频繁操作注意延迟3秒,画面才播放出来。
- scscbc.play_out()
|