[РЕШЕНО] Получилось сделать захват с web камеры, а как быть с tv-тюннером? |
Здравствуйте, гость ( Вход | Регистрация )
[РЕШЕНО] Получилось сделать захват с web камеры, а как быть с tv-тюннером? |
Revil |
12.10.2010, 5:45
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 12.10.2010 Пользователь №: 2106 Спасибо сказали: 0 раз(а) Репутация: 0 |
Я уже, как две недели начал изучать QT и то из-острой необходимости, в последний раз кодил наверное 6-7 лет назад и мое кунг-фу может быть не таким хорошим . Собственно сабж. В качестве Бэкенда использую Phonon-backend-vlc, ОС Ubuntu 10.10.
в системе стоит веб-камера (/dev/video0) и тв-тюннер (/dev/video1). видео с веб камеры получаю вот так вот :
при QString url("v4l2://///dev/video1"); получаю помехи. Ну еще бы, ведь в тюнере несколько входов. Вопрос в том, как получить картинку с входа s-video, и указать стандарты PAL/SECAM ...думаю есть такая возможность. В самом VLC получается получить картинку с любого входа тюнера, а как быть в этом случае? Обещаю, что если тут кого то задел своим быдлокодерством, то больше не буду. Но в данный момент очень нужна ваша помощь. думаю нужно, как то параметры вскормить v4l2 драйверу, но как? |
|
|
Revil |
12.10.2010, 6:55
Сообщение
#2
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 12.10.2010 Пользователь №: 2106 Спасибо сказали: 0 раз(а) Репутация: 0 |
если терминале vlc v4l2:///dev/video1 :v4l2-input=2, vlc захватывает виде с канала s-video, а в программе не могу так как проблема с пробелом..его как то можно экранировать?
|
|
|
kwisp |
12.10.2010, 8:56
Сообщение
#3
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
Revil,
попробуй это Цитата QUrl::QUrl ( const QString & url, ParsingMode parsingMode ) This is an overloaded function. Parses the url using the parser mode parsingMode. Цитата enum QUrl::ParsingMode The parsing mode controls the way QUrl parses strings. Constant Value Description QUrl::TolerantMode 0 QUrl will try to correct some common errors in URLs. This mode is useful when processing URLs entered by users. QUrl::StrictMode 1 Only valid URLs are accepted. This mode is useful for general URL validation. In TolerantMode, the parser corrects the following invalid input: Spaces and "%20": If an encoded URL contains a space, this will be replaced with "%20". If a decoded URL contains "%20", this will be replaced with a single space before the URL is parsed. Single "%" characters: Any occurrences of a percent character "%" not followed by exactly two hexadecimal characters (e.g., "13% coverage.html") will be replaced by "%25". Reserved and unreserved characters: An encoded URL should only contain a few characters as literals; all other characters should be percent-encoded. In TolerantMode, these characters will be automatically percent-encoded where they are not allowed: space / double-quote / "<" / ">" / "[" / "" / "]" / "^" / "`" / "{" / "|" / "}" ну либо попробуй заменить пробел на "%20" вручную |
|
|
Revil |
12.10.2010, 15:06
Сообщение
#4
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 12.10.2010 Пользователь №: 2106 Спасибо сказали: 0 раз(а) Репутация: 0 |
kwisp
вечером буду дома, попробую когда по логам видно, что идет преобразование в "v4l2:///dev/video1%20:v4l2-input=2", что не есть гуд...то есть приемник его считает одним целым. Если писать слитно без пробела то плеер работает, так же как и без параметра :v4l2-input=2. Уже не воспринимает параметр. Для проверки переменную url вставляю в label т.е
то label показывает все как есть...даже слэши не урезает. |
|
|
kwisp |
12.10.2010, 15:19
Сообщение
#5
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
Revil,
вишь в чем дело у MediaSource есть конструкторы: Цитата MediaSource ( const QString & fileName ) MediaSource ( const QUrl & url ) ты задаешь первый, по-моему. Может явно указать что ты передаешь QUrl ? |
|
|
Revil |
12.10.2010, 15:25
Сообщение
#6
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 12.10.2010 Пользователь №: 2106 Спасибо сказали: 0 раз(а) Репутация: 0 |
kwisp
вроде я пробовал оба варианта....но все же еще раз попробую когда буду дома. Кто его знает может, что то упустил т. к. не спал до 9 утра |
|
|
Revil |
13.10.2010, 17:49
Сообщение
#7
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 12.10.2010 Пользователь №: 2106 Спасибо сказали: 0 раз(а) Репутация: 0 |
чета не разобрался я ... уже мысли настроить модули для тв-тюннера так чтоб работал только S-video или создать видео устройство к примеру /dev/svideo0 откуда можно будет напрямую схватит видео со входа S-video тюнера. мля...уже гоняю.
|
|
|
kwisp |
13.10.2010, 17:52
Сообщение
#8
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
Revil,
если получится, выложи код и описание действий сюда, интересная штуковина. |
|
|
Revil |
14.10.2010, 5:06
Сообщение
#9
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 12.10.2010 Пользователь №: 2106 Спасибо сказали: 0 раз(а) Репутация: 0 |
kwisp
к счастью не пришлось прибегнуть к тем выше мною описанным извращениям...все оказалось намного проще, настолько просто, что мне щас стыдно показывать решение QString url("v4l2://///dev/video1:input=2"); void MainWindow::on_pushButton_clicked() { ui->Player_1->play(Phonon::MediaSource(url)); } А я как в терминале для vlc пытался пихнуть параметр в виде :v4l2-input=2 и то через пробел. Теперь можно смело покупать Video Capture card AVer-EZCapture для захвата видео. Думаю чем использовать целый комбайн типа тюнера, лучше юзать плату с двумя видеовходами тем более она том же чипе BT-878 (хотя и устаревшем), что и мой тюнер. Если можно добавь пожалуйста в названии темы [РЕШЕНО]...возможно тема, чем нибудь поможет новичку. Спасибо |
|
|
sibmail |
28.3.2011, 17:55
Сообщение
#10
|
Студент Группа: Участник Сообщений: 63 Регистрация: 20.3.2009 Пользователь №: 626 Спасибо сказали: 0 раз(а) Репутация: 0 |
kwisp к счастью не пришлось прибегнуть к тем выше мною описанным извращениям...все оказалось намного проще, настолько просто, что мне щас стыдно показывать решение QString url("v4l2://///dev/video1:input=2"); void MainWindow::on_pushButton_clicked() { ui->Player_1->play(Phonon::MediaSource(url)); } А я как в терминале для vlc пытался пихнуть параметр в виде :v4l2-input=2 и то через пробел. Теперь можно смело покупать Video Capture card AVer-EZCapture для захвата видео. Думаю чем использовать целый комбайн типа тюнера, лучше юзать плату с двумя видеовходами тем более она том же чипе BT-878 (хотя и устаревшем), что и мой тюнер. Если можно добавь пожалуйста в названии темы [РЕШЕНО]...возможно тема, чем нибудь поможет новичку. Спасибо подскажите под windows такое будет работать? и что писать в url? |
|
|
Текстовая версия | Сейчас: 23.12.2024, 2:33 |