Автор |
Повідомлення |
Повідомлення створено: 06. 03. 2012 [00:44]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
|
"roman" wrote:
Замена так и не реализована. Просто выполняется подмена в лайоуте, что неэффективно в отношении потребления памяти.
Реализация проигрывания видео с помощью Phonon не внесена в существующий тип "Movie".
Реализовал как нужно!
Learn, learn and learn better than work, work and work.
|
Повідомлення створено: 11. 03. 2012 [15:29]
|
aleax
Alexey Bondarchuk
Автор теми
Зареєстрован(а) с: 27.01.2010
Повідомлення: 73
|
"roman" wrote:
Реализовал как нужно!
Наблюдается падение, при использовании Full Video:
1. Запустить проект с медиа-виджетом.
2. Остановить проект.
3. Снова запустить проект.
Либо при редактировании:
1. Открыть виджет в редакторе (Ctrl+E).
2. Закрыть.
3. Снова открыть.
UPD. добавил crash от сборки с отладочными сиволами
[Повідомлення редагувалось 1 раз(ів), останній раз 11.03.2012 в 15:46.]
Вкладений файл
|
Повідомлення створено: 11. 03. 2012 [16:05]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
|
"aleax" wrote:
Наблюдается падение, при использовании Full Video:
Это не проблема OpenSCADA ибо валится VLC бекенд при установке обычного нулевого смещения, т.е. начало проигрывания. Даже если поток не seekable падать бекенд не должен. Что проигрываете, если не seekable поток то добавлю проверку на seekable?
С XINE бекендом у меня нет никаких падений!
Learn, learn and learn better than work, work and work.
|
Повідомлення створено: 11. 03. 2012 [17:20]
|
aleax
Alexey Bondarchuk
Автор теми
Зареєстрован(а) с: 27.01.2010
Повідомлення: 73
|
"roman" wrote:
Это не проблема OpenSCADA ибо валится VLC бекенд при установке обычного нулевого смещения, т.е. начало проигрывания. Даже если поток не seekable падать бекенд не должен. Что проигрываете, если не seekable поток то добавлю проверку на seekable?
С XINE бекендом у меня нет никаких падений!
Действительно, с xine не падает.
Проирываю plant.avi из тестового проекта, что в первом сообщении.
Бекенды phonon по-видиому тот еще глюкодром: с gstreamer, например, не работает loop потока.
А VLC устойчиво валится, даже если не выставлять флаг проигрования.
Попробую собрать еще VLC бекенд посвежее, а то в сквизи версия 0.2, а в тестинге уже 0.5.
|
Повідомлення створено: 13. 03. 2012 [11:37]
|
aleax
Alexey Bondarchuk
Автор теми
Зареєстрован(а) с: 27.01.2010
Повідомлення: 73
|
"aleax" wrote:
Действительно, с xine не падает.
Проирываю plant.avi из тестового проекта, что в первом сообщении.
Бекенды phonon по-видиому тот еще глюкодром: с gstreamer, например, не работает loop потока.
А VLC устойчиво валится, даже если не выставлять флаг проигрования.
Попробую собрать еще VLC бекенд посвежее, а то в сквизи версия 0.2, а в тестинге уже 0.5.
С бекпортом phonon-backend-vlc ничего сходу не вышло, потому решил попробовать аналогично с phonon-backend-gstreamer.
В итоге в связке phonon-4.6.0 и phonon-backend-gstreamer-4.6.0 получилось достаточно безглючно проигрывать как локальные файлы, так и потоковое видео. (вещал с помощью VLC. как будут реальные камеры, отпишусь отдельно, если возникнут какие-то специфические нюансы).
Также предлагаю изменить условие для определения видеопотока:
Index: src/moduls/ui/Vision/vis_shapes.cpp
===================================================================
--- src/moduls/ui/Vision/vis_shapes.cpp (revision 1759)
+++ src/moduls/ui/Vision/vis_shapes.cpp (working copy)
@@ -1249,8 +1249,8 @@
if(shD->mediaSrc.compare(0,5,"file:") == 0)
mSrc = MediaSource(QString(shD->mediaSrc.substr(5).c_str()));
//> Try play Stream by URL
- else if(shD->mediaSrc.compare(0,5,"http:") == 0 || shD->mediaSrc.compare(0,4,"ftp:") == 0)
- mSrc = MediaSource(QUrl(shD->mediaSrc.c_str()));
+ else if(shD->mediaSrc.compare(0,7,"stream:") == 0)
+ mSrc = MediaSource(QUrl(shD->mediaSrc.substr(7).c_str()));
//> Try remote VCAEngine resource at last
if(shD->mediaSrc.size() && (mSrc.type() == MediaSource::Invalid || mSrc.type() == MediaSource::Empty))
{
так, как форматов потоков множество (сейчас конкретно тестировал rtsp://) и удобнее было бы указать в качестве источника "stream:rtsp://127.0.0.1:5540/ch1" и дальше пусть бекенд phonon’а отображает, если конечно сможет ;-)
|
Повідомлення створено: 13. 03. 2012 [13:12]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
|
"aleax" wrote:
так, как форматов потоков множество (сейчас конкретно тестировал rtsp://) и удобнее было бы указать в качестве источника "stream:rtsp://127.0.0.1:5540/ch1" и дальше пусть бекенд phonon’а отображает, если конечно сможет ;-)
Принято!
Learn, learn and learn better than work, work and work.
|
Повідомлення створено: 22. 03. 2012 [08:50]
|
yozhik
Алексей Николаев
Зареєстрован(а) с: 29.11.2010
Повідомлення: 127
|
--disable-Phonon не работает
|
Повідомлення створено: 22. 03. 2012 [09:02]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
|
"yozhik" wrote:
--disable-Phonon не работает
И не должно. Он включается/выключается автоматом по наличию библиотек и хедеров.
Learn, learn and learn better than work, work and work.
|
Повідомлення створено: 23. 03. 2012 [12:40]
|
gsxr
Андрей Ехлаков
Зареєстрован(а) с: 03.03.2010
Повідомлення: 58
|
При сборке:
vis_shapes.cpp:963: ошибка: ‘Phonon’ is not a namespace-name
vis_shapes.cpp:963: ошибка: expected namespace-name before ‘;’ token
vis_shapes.cpp: In member function ‘void VISION::ShapeMedia::clear(VISION::WdgView*)’:
vis_shapes.cpp:1003: ошибка: нет декларации ‘VideoPlayer’ в этой области видимости
vis_shapes.cpp:1003: ошибка: нет декларации ‘player’ в этой области видимости
vis_shapes.cpp:1003: ошибка: expected type-specifier before ‘VideoPlayer’
vis_shapes.cpp:1003: ошибка: expected ‘>’ before ‘VideoPlayer’
vis_shapes.cpp:1003: ошибка: expected ‘(’ before ‘VideoPlayer’
vis_shapes.cpp:1003: ошибка: expected primary-expression before ‘>’ token
vis_shapes.cpp:1003: ошибка: expected ‘)’ before ‘;’ token
vis_shapes.cpp: In member function ‘virtual bool VISION::ShapeMedia::attrSet(VISION::WdgView*, int, const std::string&)’:
vis_shapes.cpp:1015: ошибка: нет декларации ‘VideoPlayer’ в этой области видимости
vis_shapes.cpp:1015: ошибка: нет декларации ‘player’ в этой области видимости
vis_shapes.cpp:1114: ошибка: expected type-specifier before ‘VideoPlayer’
vis_shapes.cpp:1114: ошибка: expected ‘>’ before ‘VideoPlayer’
vis_shapes.cpp:1114: ошибка: expected ‘(’ before ‘VideoPlayer’
vis_shapes.cpp:1114: ошибка: expected primary-expression before ‘>’ token
vis_shapes.cpp:1115: ошибка: expected ‘)’ before ‘{’ token
vis_shapes.cpp:1127: ошибка: expected type-specifier before ‘VideoPlayer’
vis_shapes.cpp:1127: ошибка: expected ‘>’ before ‘VideoPlayer’
vis_shapes.cpp:1127: ошибка: expected ‘(’ before ‘VideoPlayer’
vis_shapes.cpp:1127: ошибка: expected primary-expression before ‘>’ token
vis_shapes.cpp:1128: ошибка: expected ‘)’ before ‘{’ token
Как собрать?
|
Повідомлення створено: 23. 03. 2012 [12:46]
|
roman
Roman Savochenko
Moderator Contributor Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3750
|
"gsxr" wrote:
Как собрать?
Не знаю. У меня собирается.
Learn, learn and learn better than work, work and work.
|