Beispiel #1
0
    def __init__(self, settings, parent=None):
        QtGui.QDialog.__init__(self, parent)
        self.ui = Ui_streamWidget()
        self.ui.setupUi(self)
        self.okClicked = False
        self.settings = settings
        self.streamParameters = {}
        devVideo = self.settings.value("stream/devVideo", QtCore.QVariant(""))
        self.streamParameters["devVideo"] = str(devVideo.toString())
        self.ui.lineEditDevVideo.setText(self.streamParameters["devVideo"])
        # 		self.devVideo=""
        devAudio = self.settings.value("stream/devAudio", QtCore.QVariant(""))
        self.streamParameters["devAudio"] = str(devAudio.toString())
        self.ui.lineEditDevAudio.setText(self.streamParameters["devAudio"])
        # 		self.devAudio=""
        audioSamplerate = self.settings.value("stream/audioSamplerate", QtCore.QVariant(0))
        self.streamParameters["audioSamplerate"] = audioSamplerate.toInt()[0]
        # 	self.audioSamplerate=""
        inputNum = settings.value("stream/inputNum", QtCore.QVariant(""))
        self.streamParameters["inputNum"] = str(inputNum.toString())
        # self.inputNum=""

        varVideoBitrate = self.settings.value("stream/videoBitrate", QtCore.QVariant(256))
        videoBitrate = varVideoBitrate.toInt()[0]
        self.streamParameters["videoBitrate"] = videoBitrate
        if videoBitrate != 256:
            self.ui.checkBoxVideoBitrate.setChecked(True)
        self.ui.spinBoxVideoBitrate.setValue(videoBitrate)
        # self.videoBitrate=""
        varAudioBitrate = self.settings.value("stream/audioBitrate", QtCore.QVariant(32))
        audioBitrate = varAudioBitrate.toInt()[0]
        self.streamParameters["audioBitrate"] = audioBitrate
        if audioBitrate != 32:
            self.ui.checkBoxAudioBitrate.setChecked(True)
        self.ui.spinBoxAudioBitrate.setValue(audioBitrate)

        # 	self.audioBitrate=""
        video4linuxType = settings.value("stream/video4linuxType", QtCore.QVariant("v4l2"))
        self.streamParameters["video4linuxType"] = str(video4linuxType.toString())
        # self.video4linuxType=""

        self.iconDialog = self.windowIcon()
        self.nameDialog = self.windowTitle()
        self.listWidgetItem = QtGui.QListWidgetItem()
        self.listWidgetItem.setIcon(self.iconDialog)
        self.listWidgetItem.setText(self.nameDialog)

        if sys.platform == "win32":
            self.ui.groupBoxAcquisition.hide()

        QtCore.QObject.connect(self.ui.buttonBox, QtCore.SIGNAL("clicked (QAbstractButton *)"), self.buttonClicked)
        QtCore.QObject.connect(
            self.ui.checkBoxAudioSamplerate,
            QtCore.SIGNAL("toggled (bool)"),
            lambda: self.ui.spinBoxAudioSamplerate.setValue(0),
        )
        QtCore.QObject.connect(
            self.ui.checkBoxVideoBitrate,
            QtCore.SIGNAL("toggled (bool)"),
            lambda: self.ui.spinBoxVideoBitrate.setValue(256),
        )
        QtCore.QObject.connect(
            self.ui.checkBoxAudioBitrate,
            QtCore.SIGNAL("toggled (bool)"),
            lambda: self.ui.spinBoxAudioBitrate.setValue(32),
        )
Beispiel #2
0
class pystreamDialog(QtGui.QDialog):
    def __init__(self, settings, parent=None):
        QtGui.QDialog.__init__(self, parent)
        self.ui = Ui_streamWidget()
        self.ui.setupUi(self)
        self.okClicked = False
        self.settings = settings
        self.streamParameters = {}
        devVideo = self.settings.value("stream/devVideo", QtCore.QVariant(""))
        self.streamParameters["devVideo"] = str(devVideo.toString())
        self.ui.lineEditDevVideo.setText(self.streamParameters["devVideo"])
        # 		self.devVideo=""
        devAudio = self.settings.value("stream/devAudio", QtCore.QVariant(""))
        self.streamParameters["devAudio"] = str(devAudio.toString())
        self.ui.lineEditDevAudio.setText(self.streamParameters["devAudio"])
        # 		self.devAudio=""
        audioSamplerate = self.settings.value("stream/audioSamplerate", QtCore.QVariant(0))
        self.streamParameters["audioSamplerate"] = audioSamplerate.toInt()[0]
        # 	self.audioSamplerate=""
        inputNum = settings.value("stream/inputNum", QtCore.QVariant(""))
        self.streamParameters["inputNum"] = str(inputNum.toString())
        # self.inputNum=""

        varVideoBitrate = self.settings.value("stream/videoBitrate", QtCore.QVariant(256))
        videoBitrate = varVideoBitrate.toInt()[0]
        self.streamParameters["videoBitrate"] = videoBitrate
        if videoBitrate != 256:
            self.ui.checkBoxVideoBitrate.setChecked(True)
        self.ui.spinBoxVideoBitrate.setValue(videoBitrate)
        # self.videoBitrate=""
        varAudioBitrate = self.settings.value("stream/audioBitrate", QtCore.QVariant(32))
        audioBitrate = varAudioBitrate.toInt()[0]
        self.streamParameters["audioBitrate"] = audioBitrate
        if audioBitrate != 32:
            self.ui.checkBoxAudioBitrate.setChecked(True)
        self.ui.spinBoxAudioBitrate.setValue(audioBitrate)

        # 	self.audioBitrate=""
        video4linuxType = settings.value("stream/video4linuxType", QtCore.QVariant("v4l2"))
        self.streamParameters["video4linuxType"] = str(video4linuxType.toString())
        # self.video4linuxType=""

        self.iconDialog = self.windowIcon()
        self.nameDialog = self.windowTitle()
        self.listWidgetItem = QtGui.QListWidgetItem()
        self.listWidgetItem.setIcon(self.iconDialog)
        self.listWidgetItem.setText(self.nameDialog)

        if sys.platform == "win32":
            self.ui.groupBoxAcquisition.hide()

        QtCore.QObject.connect(self.ui.buttonBox, QtCore.SIGNAL("clicked (QAbstractButton *)"), self.buttonClicked)
        QtCore.QObject.connect(
            self.ui.checkBoxAudioSamplerate,
            QtCore.SIGNAL("toggled (bool)"),
            lambda: self.ui.spinBoxAudioSamplerate.setValue(0),
        )
        QtCore.QObject.connect(
            self.ui.checkBoxVideoBitrate,
            QtCore.SIGNAL("toggled (bool)"),
            lambda: self.ui.spinBoxVideoBitrate.setValue(256),
        )
        QtCore.QObject.connect(
            self.ui.checkBoxAudioBitrate,
            QtCore.SIGNAL("toggled (bool)"),
            lambda: self.ui.spinBoxAudioBitrate.setValue(32),
        )

    def returnParameters(self):
        return self.streamParameters

    def buttonClicked(self, button):
        buttonClickedRole = self.ui.buttonBox.buttonRole(button)

        if buttonClickedRole == QtGui.QDialogButtonBox.ResetRole:
            self.ui.comboBoxV4l.setCurrentIndex(0)
            self.ui.lineEditDevVideo.clear()
            self.ui.lineEditDevAudio.clear()
            self.ui.comboBoxInputNum.setCurrentIndex(0)
            self.ui.spinBoxAudioSamplerate.setValue(0)
            self.ui.checkBoxAudioSamplerate.setChecked(False)
            self.ui.spinBoxVideoBitrate.setValue(256)
            self.ui.checkBoxVideoBitrate.setChecked(False)
            self.ui.spinBoxAudioBitrate.setValue(32)
            self.ui.checkBoxAudioBitrate.setChecked(False)

        elif buttonClickedRole == QtGui.QDialogButtonBox.AcceptRole:
            v4lType = self.ui.comboBoxV4l.currentText()
            if v4lType == "v4l2":
                self.streamParameters["video4linuxType"] = "v4l2"
            elif v4lType == "v4l":
                self.streamParameters["video4linuxType"] = "v4l"

            inputNum = self.ui.comboBoxInputNum.currentText()
            self.streamParameters["inputNum"] = inputNum

            if self.ui.checkBoxAudioSamplerate.isChecked():
                audioSamplerate = self.ui.spinBoxAudioSamplerate.value()
                self.streamParameters["audioSamplerate"] = audioSamplerate
                if not audioSamplerate:
                    QtGui.QMessageBox.warning(self, self.tr("Alert"), self.tr("Audio samplerate is not a valid value"))
                    self.ui.checkBoxAudioSamplerate.setChecked(False)
            else:
                self.streamParameters["audioSamplerate"] = 0

            pathDevVideo = self.ui.lineEditDevVideo.text()
            if pathDevVideo:
                if QtCore.QFile.exists(pathDevVideo):
                    self.streamParameters["devVideo"] = pathDevVideo
                else:
                    QtGui.QMessageBox.warning(self, self.tr("Alert"), self.tr("Video device file not exist"))
                    self.ui.lineEditDevVideo.clear()
                    self.streamParameters["devVideo"] = ""
            else:
                self.streamParameters["devVideo"] = ""

            pathDevAudio = self.ui.lineEditDevAudio.text()
            if pathDevAudio:
                if QtCore.QFile.exists(pathDevAudio):
                    self.streamParameters["devAudio"] = pathDevAudio
                else:
                    QtGui.QMessageBox.warning(self, self.tr("Alert"), self.tr("Audio device file not exist"))
                    self.ui.lineEditDevAudio.clear()
                    self.streamParameters["devAudio"] = ""
            else:
                self.streamParameters["devAudio"] = ""

            videoBitrate = self.ui.spinBoxVideoBitrate.value()
            if self.ui.checkBoxVideoBitrate.isChecked():
                self.streamParameters["videoBitrate"] = videoBitrate
                if not videoBitrate:
                    QtGui.QMessageBox.warning(self, self.tr("Alert"), self.tr("Video bitrate is not a valid value"))
                    self.ui.checkBoxVideoBitrate.setChecked(False)
            else:
                self.streamParameters["videoBitrate"] = 256

            audioBitrate = self.ui.spinBoxAudioBitrate.value()
            if self.ui.checkBoxAudioBitrate.isChecked():
                self.streamParameters["audioBitrate"] = audioBitrate
                if not audioBitrate:
                    QtGui.QMessageBox.warning(self, self.tr("Alert"), self.tr("Audio bitrate is not a valid value"))
                    self.ui.checkBoxAudioBitrate.setChecked(False)
            else:
                self.streamParameters["audioBitrate"] = 32

            self.settings.setValue("stream/devVideo", QtCore.QVariant(self.streamParameters["devVideo"]))
            self.settings.setValue("stream/devAudio", QtCore.QVariant(self.streamParameters["devAudio"]))
            self.settings.setValue("stream/audioSamplerate", QtCore.QVariant(self.streamParameters["audioSamplerate"]))
            self.settings.setValue("stream/inputNum", QtCore.QVariant(self.streamParameters["inputNum"]))
            self.settings.setValue("stream/videoBitrate", QtCore.QVariant(self.streamParameters["videoBitrate"]))
            self.settings.setValue("stream/audioBitrate", QtCore.QVariant(self.streamParameters["audioBitrate"]))
            self.settings.setValue("stream/video4linuxType", QtCore.QVariant(self.streamParameters["video4linuxType"]))
            print "devVideo: " + self.streamParameters["devVideo"]
            print "devAudio: " + self.streamParameters["devAudio"]
            print "audioSamplerate: " + str(self.streamParameters["audioSamplerate"])
            print "inputNum: " + self.streamParameters["inputNum"]
            print "videoBitrate: " + str(self.streamParameters["videoBitrate"])
            print "audioBitrate: " + str(self.streamParameters["audioBitrate"])
            print "v4l type: " + str(self.streamParameters["video4linuxType"])