tvrsc и QT. Тормоза и зависания
 
	
	mibin  
	
		
	  
	
		
		 
		 
		 
		 
		 
		 
		Пункты: 7688  
		Регистрация: 22.05.2012  
		Пол: Мужчина  
		 
		
	 
		
		Добрый день! 
 
Решил потестировать вывод изображения с камер. 
Собрал QT проект, по примеру файла v4.qml. 
 
Вывод картинки производится на плаг SK-ATM0700D4-Plug. 
 
Собрал системы на основе imx6sk_qt5gst_defconfig, изменив только тип платы и в fb0 поставил ldb, sk-atm0704, а в fb1 поставил hdmi, 1920x1080. 
 
Когда я запустил проект я получил вывод картинки с камеры на экран, но она периодически подвисала на короткое время и дальше продолжала вещать, в итоге через минуту происходит общее подвисание платы и перезагрузка. 
 
Подскажите, пожалуйста, где я опять чего не так сделал?
 
		 
		
	  
	
		
	 
	
		
	 
 
 
	
	sasamy  
	
		
	  
	
		
		 
		 
		 
		 
		 
		 
		Пункты: 92820  
		Регистрация: 14.08.2009  
		 
		 
		
	 
		
		Цитата  
Решил потестировать вывод изображения с камер. 
 
с каких камер - c USB  ? v4.qml  _solo_ даже а не quad с захватом на tw6869 загружает CPU максимум на 10 - 15 % с выводом на hdmi 1920x1080
вот например v4.qml на sk-imx6q с выводом на SK-ATM0700D4-Plug
 
посмотрите еще - правильные ли устройтва /dev/video используете
 
		 
		
	  
	
		
	 
	
		
	 
 
 
	
	mibin  
	
		
	  
	
		
		 
		 
		 
		 
		 
		 
		Пункты: 7688  
		Регистрация: 22.05.2012  
		Пол: Мужчина  
		 
		
	 
		
		Камера аналогововая, подключена через плаг SK-TW6869.
Я кадры беру с video1, video0, как я понима, это мой монитор (плаг SK-ATM0700D4-Plug)
Код             MediaPlayer { 
                id: player0 
                source: "tvsrc:///dev/video1" 
                autoPlay: true 
            } 
 
            VideoOutput { 
                source: player0 
                fillMode: VideoOutput.Stretch 
                anchors.fill: parent 
            }
 
		 
		
	  
	
		
	 
	
		
	 
 
 
	
	mibin  
	
		
	  
	
		
		 
		 
		 
		 
		 
		 
		Пункты: 7688  
		Регистрация: 22.05.2012  
		Пол: Мужчина  
		 
		
	 
		
	  
	
		
	 
	
		
	 
 
 
	
	mibin  
	
		
	  
	
		
		 
		 
		 
		 
		 
		 
		Пункты: 7688  
		Регистрация: 22.05.2012  
		Пол: Мужчина  
		 
		
	 
		
		Вот видео того как это работает:
Видео 
С 18-21 секунды можно заметить промаргивания белые...иногда они бывают по всему экрану.
На 27 секунде картинка замирает и на 1 мин 21 сек происходит рестарт платы.
 
		 
		
	  
	
		
	 
	
		
	 
 
 
	
	sasamy  
	
		
	  
	
		
		 
		 
		 
		 
		 
		 
		Пункты: 92820  
		Регистрация: 14.08.2009  
		 
		 
		
	 
		
		Ваш код не соответствует тому что показываете на видео. Начните с простого
# cat v1.qml 
import QtQuick 2.0
import QtMultimedia 5.4
Item {
    Rectangle {
        width: parent.width/2
        height: parent.height/2
        anchors.left: parent.left
        anchors.top: parent.top
        MediaPlayer {
            id: player0
            source: "tvsrc:///dev/video1"
            autoPlay: true
        }
        VideoOutput {
            source: player0
            fillMode: VideoOutput.Stretch
            anchors.fill: parent
        }
    }
}
в обычном vi на плате создайте такой файл, запустите 
# qmlscene v1.qml
а дальше - я не специалист по Qt и QML - смотрите документацию Qt, книжки например
http://qmlbook.github.io 
учитывайте в примерах что нет оконной системы
 
		 
		
	  
	
		
	 
	
		
	 
 
 
	
	mibin  
	
		
	  
	
		
		 
		 
		 
		 
		 
		 
		Пункты: 7688  
		Регистрация: 22.05.2012  
		Пол: Мужчина  
		 
		
	 
		
		Вот полный код, тогда я привел только часть, которую посчитал самой главной.
Он же в принципе отвечал за вывод изображения на экран.
Код import QtQuick 2.4 
import QtQuick.Controls 1.3 
import QtQuick.Layouts 1.1 
import QtMultimedia 5.0 
 
Item { 
    width: 800 
    height: 480 
 
    Rectangle { 
        id: rectangle1 
        x: 89 
        y: 8 
        width: 200 
        height: 200 
        color: "#ffffff" 
 
        MediaPlayer { 
             id: player0 
             source: "tvsrc:///dev/video1" 
             autoPlay: true 
         } 
 
         VideoOutput { 
             source: player0 
             fillMode: VideoOutput.Stretch 
             anchors.fill: parent 
         } 
    } 
 
    Text { 
        id: text1 
        x: 295 
        y: 8 
        width: 102 
        height: 52 
        text: qsTr("Hello world!") 
        font.pixelSize: 20 
    } 
} 
 
		 
		
	  
	
		
	 
	
		
	 
 
 
	
	Pavel Ivanchenko  
	
		
	  
	
		
		 
		Admin  
		 
		 
		 
		 
		Пункты: 95466  
		Регистрация: 24.03.2009  
		Пол: Мужчина  
		 
		
	 
		
		Попробовал у себя на imx6q плате этот qml - работает, не виснет. 
На своей плате проверьте на всякий случай, чтобы вместо C137,138 стояли резисторы 0Ом.
 
		 
		
	  
	
		
	 
	
		
	 
 
 
	
	mibin  
	
		
	  
	
		
		 
		 
		 
		 
		 
		 
		Пункты: 7688  
		Регистрация: 22.05.2012  
		Пол: Мужчина  
		 
		
	 
		
		На сколько я понимаю, там они и стоят.
Может я плату или плаг испортил как-то? Есть способ как это проверить?
 
		 
		
	  
	
		
	 
	
		
	 
 
 
	
	mibin  
	
		
	  
	
		
		 
		 
		 
		 
		 
		 
		Пункты: 7688  
		Регистрация: 22.05.2012  
		Пол: Мужчина  
		 
		
	 
		
		Я систему разворачиваю с флешки, может можете мне скинуть рабочий образ, чтобы я попробовал? 
Мало ли мест где я мог косякнуть :)