Giter Site home page Giter Site logo

kvazzup's People

Contributors

altonen avatar arizer avatar jrsnen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kvazzup's Issues

Question: How Kvazzup filter graph handles sending video

I want to use my custom camera in Ubuntu.
I can add my custom camera in FilterGraph and see video in selfviewFilter_.
However, this video is not sent over Internet by calling.
I know the camerafilter module is connected to SelfviewFilter, so that camera data can be displayed on it.
For debugging I nees an answer of following questions:

  1. what is video data flow from camera or screen sharing module to which module being response to send video out?
  2. what modul is directly connected to camera module by Video Call?
    Thanks

Issue template

Please use this issue template to describe your issue.

Symptoms

Describe as accurately as possible, what went wrong or why you think there is a bug in Kvazzup.

Environment

On which platform (Windows, Linux, Mac) and using what compiler (VS, GCC, MinGW) did you encounter the issue? You can also say mention if you think it is not related to the environment. You can also mention if it does not occur on some platform.

It can also be useful to mention other factors like version of Kvazzup or Qt in this section, if you think it is relevant or you are using something else that the newest commit of Kvazzup master.

Reproduction

What steps does one have to take to encounter this issue?

Suspected Cause (optional)

If you have a strong guess or you know what is causing the issue, you may include this information as well.

Linking problem at latest Ubuntu

Symptoms

Following steps to compile Kvazzup gives an error. Therefore Kvazzup only can be build in latest release LTS 20.04.

Reproduction

  1. apt remove g++
  2. install clang-12
  3. cd openHEVC/build-clang
  4. cmake ..
  5. make
  6. sudo make install
  7. apt install g++
  8. qmake ../Kvazzup.pro # generating Makefile for kvazzup
  9. make

Environment

  • OS: Linux kubuntu 21.04
  • Compiler: g++ (Ubuntu 10.3.0-1ubuntu1) 10.3.0, clang version 8.0.1-9, 12.0.0-3ubuntu1~21.04.2
  • Kvazzup version: 0.10.0
  • Qt version: 5.15.2
  • Architecture: x86_64 AMD Ryzen

Compiling Kvazzup error

$ qmake ../Kvazzup.pro
$ make
.
.
.
g++ -fopenmp -Wl,-O1 -o Kvazzup connectionpolicy.o ice.o icecandidatetester.o icepairtester.o icesessiontester.o negotiation.o networkcandidates.o sdpnegotiator.o sipcontent.o stunmessage.o stunmessagefactory.o udpserver.o sipmanager.o sipclient.o sipdialog.o sipdialogclient.o sipdialogmanager.o sipdialogstate.o sipnondialogclient.o sipregistrations.o sipserver.o connectionserver.o sipconversions.o sipfieldcomposing.o sipfieldparsing.o siprouting.o siptransport.o tcpconnection.o kvazzupcontroller.o logger.o main.o delivery.o uvgrtpreceiver.o uvgrtpsender.o mediamanager.o audiocapturefilter.o audioframebuffer.o audiomixer.o audiomixerfilter.o audiooutputdevice.o audiooutputfilter.o camerafilter.o cameraframegrabber.o displayfilter.o dspfilter.o filter.o filtergraph.o kvazaarfilter.o openhevcfilter.o opusdecoderfilter.o opusencoderfilter.o rgb32toyuv.o scalefilter.o screensharefilter.o common.o speexaec.o speexdsp.o yuvtorgb32.o callwindow.o chartpainter.o conferenceview.o contactlist.o contactlistitem.o guimessage.o statisticswindow.o videodrawhelper.o videoglwidget.o videoviewfactory.o videowidget.o videoyuvwidget.o audiosettings.o camerainfo.o microphoneinfo.o screeninfo.o settings.o settingshelper.o sipsettings.o videosettings.o moc_ice.o moc_icecandidatetester.o moc_icepairtester.o moc_icesessiontester.o moc_negotiation.o moc_networkcandidates.o moc_udpserver.o moc_sipmanager.o moc_sipclient.o moc_sipdialog.o moc_sipdialogclient.o moc_sipdialogmanager.o moc_sipnondialogclient.o moc_sipregistrations.o moc_sipserver.o moc_connectionserver.o moc_siptransport.o moc_tcpconnection.o moc_kvazzupcontroller.o moc_delivery.o moc_uvgrtpreceiver.o moc_uvgrtpsender.o moc_mediamanager.o moc_audiocapturefilter.o moc_audiomixer.o moc_audiooutputdevice.o moc_camerafilter.o moc_cameraframegrabber.o moc_filter.o moc_filtergraph.o moc_screensharefilter.o moc_speexaec.o moc_speexdsp.o moc_callwindow.o moc_chartpainter.o moc_conferenceview.o moc_contactlist.o moc_contactlistitem.o moc_guimessage.o moc_statisticswindow.o moc_videodrawhelper.o moc_videoglwidget.o moc_videowidget.o moc_videoyuvwidget.o moc_audiosettings.o moc_settings.o moc_sipsettings.o moc_videosettings.o -lopus -lLibOpenHevcWrapper -luvgrtp -lkvazaar -lspeexdsp -lcryptopp /usr/lib/x86_64-linux-gnu/libQt5MultimediaWidgets.so /usr/lib/x86_64-linux-gnu/libQt5Multimedia.so /usr/lib/x86_64-linux-gnu/libQt5Svg.so /usr/lib/x86_64-linux-gnu/libQt5OpenGL.so /usr/lib/x86_64-linux-gnu/libQt5Widgets.so /usr/lib/x86_64-linux-gnu/libQt5Gui.so /usr/lib/x86_64-linux-gnu/libQt5Concurrent.so /usr/lib/x86_64-linux-gnu/libQt5Network.so /usr/lib/x86_64-linux-gnu/libQt5Core.so -lGL -lpthread
/usr/bin/ld: /usr/local/lib/libLibOpenHevcWrapper.a(videodsp_init.c.o): in function ff_videodsp_init_x86': videodsp_init.c:(.text.unlikely+0x14): undefined reference to ff_prefetch_mmxext'
/usr/bin/ld: /usr/local/lib/libLibOpenHevcWrapper.a(cpu.c.o): in function ff_get_cpu_flags_x86': cpu.c:(.text+0x4c): undefined reference to ff_cpu_cpuid'
/usr/bin/ld: cpu.c:(.text+0x84): undefined reference to ff_cpu_cpuid' /usr/bin/ld: cpu.c:(.text+0x10b): undefined reference to ff_cpu_cpuid'
/usr/bin/ld: cpu.c:(.text+0x1df): undefined reference to ff_cpu_cpuid' /usr/bin/ld: cpu.c:(.text+0x226): undefined reference to ff_cpu_cpuid'
collect2: error: ld returned 1 exit status
make: *** [Makefile:571: Kvazzup] Error 1

Compiling openHEVC

openHEVC$ > cmake ..
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.

Update the VERSION argument value or use a ... suffix to tell
CMake that the project does not need compatibility with older versions.

-- The C compiler identification is GNU 10.3.0
-- The CXX compiler identification is Clang 12.0.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
DEBUG: CMAKE_SYSTEM_PROCESSOR = x86_64
DEBUG: CMAKE_SYSTEM_NAME = Linux
-- Check size of void*
-- Check size of void* - done
DEBUG: SIZEOF_VOID_P = 8
-- target changed from "" to "auto"
-- Detected CPU: generic
-- Performing Test check_cxx_compiler_flag__march_generic
-- Performing Test check_cxx_compiler_flag__march_generic - Failed
-- Performing Test check_cxx_compiler_flag__mno_sse2
-- Performing Test check_cxx_compiler_flag__mno_sse2 - Success
-- Performing Test check_cxx_compiler_flag__mno_sse3
-- Performing Test check_cxx_compiler_flag__mno_sse3 - Success
-- Performing Test check_cxx_compiler_flag__mno_ssse3
-- Performing Test check_cxx_compiler_flag__mno_ssse3 - Success
-- Performing Test check_cxx_compiler_flag__mno_sse4_1
-- Performing Test check_cxx_compiler_flag__mno_sse4_1 - Success
-- Performing Test check_cxx_compiler_flag__mno_sse4_2
-- Performing Test check_cxx_compiler_flag__mno_sse4_2 - Success
-- Performing Test check_cxx_compiler_flag__mno_sse4a
-- Performing Test check_cxx_compiler_flag__mno_sse4a - Success
-- Performing Test check_cxx_compiler_flag__mno_avx
-- Performing Test check_cxx_compiler_flag__mno_avx - Success
-- Performing Test check_cxx_compiler_flag__mno_xop
-- Performing Test check_cxx_compiler_flag__mno_xop - Success
-- Performing Test check_cxx_compiler_flag__mno_fma4
-- Performing Test check_cxx_compiler_flag__mno_fma4 - Success
-- Performing Test check_cxx_compiler_flag__mno_avx2
-- Performing Test check_cxx_compiler_flag__mno_avx2 - Success
-- Looking for GetProcessAffinityMask
-- Looking for GetProcessAffinityMask - not found
-- Looking for gettimeofday
-- Looking for gettimeofday - found
-- Looking for sched_getaffinity
-- Looking for sched_getaffinity - found
-- Looking for strerror_r
-- Looking for strerror_r - found
-- Looking for sysconf
-- Looking for sysconf - found
-- Looking for usleep
-- Looking for usleep - found
-- Looking for localtime_r
-- Looking for localtime_r - found
-- Looking for gmtime_r
-- Looking for gmtime_r - found
-- Looking for include file fcntl.h
-- Looking for include file fcntl.h - found
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for include file unistd.h
-- Looking for include file unistd.h - found
-- Looking for include file windows.h
-- Looking for include file windows.h - not found
-- Could NOT find YASM (missing: YASM_EXECUTABLE)
-- Performing Test check_c_compiler_flag__fpic
-- Performing Test check_c_compiler_flag__fpic - Success
-- Performing Test check_c_compiler_flag__fno_tree_vectorize
-- Performing Test check_c_compiler_flag__fno_tree_vectorize - Success
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Could NOT find SDL (missing: SDL_LIBRARY SDL_INCLUDE_DIR)
-- Could NOT find SDL2 (missing: SDL2_LIBRARY SDL2_INCLUDE_DIR)
-- Configuring done
-- Generating done

Suspected Cause (optional)

I am guessing openHEVC is maybe causing problem.

Installation on Ubuntu 20.04 - unable to find QT6 dependencies

First of all, thanks for this nice project! I tried out the UvgRTP and looking forward to playing around with this project.

I have an Ubuntu 20.04 system which does not officially offer the following dependencies:

  • qt6-base-dev
  • libqt6svg6-dev
  • qt6-multimedia-dev

I'm wondering if there are any ways around this? I could set up a Docker environment but want to make sure I'm not missing something simpler to set up this project. Thanks in advance.

Migrating to Qt 6

Qt 6 has deprecated some of the functions that are in use with Kvazzup. The code and readme instructions should be updated to compile with Qt 6.

Haven't tested yet, but I'm guessing I'll want to integrate my branch for issue #17 before making too many changes, so there are no big conflicts.

Kvazzup crashes when connection established

Symptoms

I managed to compile the application in kubuntu20.4 (but not in kubuntu21.4) and I test ran on both systems. But whenever a video conferencing connection is established, it crashes.

Here are different logs if sound is muted or not:

$ head -n64 ERROR_*
==> ERROR_MUTE <==
[RTPLIB][DEBUG][::recv_msg] Receiving a ZRTP message
[RTPLIB][DEBUG][::recv_msg] Commit message received, verify CRC32!
[RTPLIB][DEBUG][::recv_msg] Receiving a ZRTP message
[RTPLIB][DEBUG][::recv_msg] Commit message received, verify CRC32!
[RTPLIB][DEBUG][::recv_msg] Receiving a ZRTP message
[RTPLIB][DEBUG][::recv_msg] Confirm2 message received, verify CRC32!
[RTPLIB][DEBUG][::alloc_zrtp_frame] Allocate ZRTP frame, packet size 92
[RTPLIB][DEBUG][::validate_session] All hashes match!
[RTPLIB][DEBUG][::~zrtp_message] Freeing zrtp message...
[RTPLIB][DEBUG][::~zrtp_message] Freeing zrtp message...
[RTPLIB][DEBUG][::derive_key] Truncate key to 128 bits!
[RTPLIB][DEBUG][::derive_key] Truncate key to 112 bits!
[RTPLIB][DEBUG][::derive_key] Truncate key to 128 bits!
[RTPLIB][DEBUG][::derive_key] Truncate key to 112 bits!
[RTPLIB][DEBUG][::derive_key] Truncate key to 128 bits!
[RTPLIB][DEBUG][::derive_key] Truncate key to 112 bits!
[RTPLIB][DEBUG][::derive_key] Truncate key to 128 bits!
[RTPLIB][DEBUG][::derive_key] Truncate key to 112 bits!
[RTPLIB][DEBUG][::runner] Received a corrupted packet!
[RTPLIB][DEBUG][::runner] Received a corrupted packet!
[RTPLIB][DEBUG][::runner] Received a corrupted packet!
Filter:                                 Parameter set found (Frame received before: 0)
Filter:                                 PEER ERROR: Detected no slices in incoming stream.
Filter:                                 Uniniating.
[hevc @ 0x55e0d9551550] flush, decoder_0.
Filter:                                 Starting to initiate OpenHEVC
[hevc @ 0x7f45fc005880] nb threads_frame = 1, nb threads_slice 1, thread_type = null 
[hevc @ 0x7f45fc005ec0] nb threads_frame = 1, nb threads_slice 1, thread_type = null 
Filter:                                 OpenHEVC initiation successful. (Version: OpenHEVC v2.0)
[RTPLIB][DEBUG][::call_aux_handlers] Received a corrupted packet!
[RTPLIB][DEBUG][::call_aux_handlers] Received a corrupted packet!
Illegal instruction (core dumped)


==> ERROR_SOUND <==
[RTPLIB][DEBUG][::runner] Received a corrupted packet!
[RTPLIB][DEBUG][::runner] Received a corrupted packet!
[RTPLIB][DEBUG][::call_aux_handlers] Received a corrupted packet!
Filter:                                 Parameter set found (Frame received before: 0)
Filter:                                 PEER ERROR: Detected no slices in incoming stream.
Filter:                                 Uniniating.
[hevc @ 0x55b125615500] flush, decoder_0.
Filter:                                 Starting to initiate OpenHEVC
[hevc @ 0x7f1980022fb0] nb threads_frame = 1, nb threads_slice 1, thread_type = null 
[hevc @ 0x7f1980040150] nb threads_frame = 1, nb threads_slice 1, thread_type = null 
Filter:                                 OpenHEVC initiation successful. (Version: OpenHEVC v2.0)
[RTPLIB][DEBUG][::call_aux_handlers] Received a corrupted packet!
SpeexAEC:                               Warning! We haven't buffered enough audio samples to start echo cancellation (Buffered: 5/6)
SpeexAEC:                               Warning! We haven't buffered enough audio samples to start echo cancellation (Buffered: 5/6)
SpeexAEC:                               Warning! We haven't buffered enough audio samples to start echo cancellation (Buffered: 5/6)
SpeexAEC:                               Warning! We haven't buffered enough audio samples to start echo cancellation (Buffered: 5/6)
SpeexAEC:                               Warning! We haven't buffered enough audio samples to start echo cancellation (Buffered: 5/6)
Illegal instruction (core dumped)

Reproduction

  1. run compiled kvazzup on two PCs and configure with no proxy to run on LAN
  2. configure to set peer's IP
  3. call peer computer and answer there
  4. you will get core dumped. If sound is either enabled or not I received different messages

Environment

  • OS: Linux kubuntu 20.04
  • Compiler: g++ Ubuntu 9.3.0-17ubuntu1~20.04
  • Kvazzup version: 0.10.0
  • Qt version: 5.12.8

Suspected Cause (optional)

It is probably something wrong handling low level communication packets or operations with those packets; maybe openHEVC?

Possibly a problem with setting the resolution for Kvazaar filter?

how can I use external camera than built-in camera?

In my case, I do not have any built-in camera in my laptop, and want to use an external camera.
I can capture video stream from my camera and want to input my video data into your framework.
I really do know, a good way to modify your interface.

Could you please help me for it?
Best thanks

Win10 Compiler Failed

Hi,
I use qt creator to compile kvazzup but failed.
Here's my folder structure
./msvc_libs
msvc_libs

( Here comes another question. I tried thousand times to compile openHEVC, there's so many compile errors when using cmake and msvc. Finally I got a dll named LibOpenHevcWrapper.dll with out a prefix 'lib'. I use this dll at first, but got a error 'file format not recognized'. Then I replace this dll to the one at openHEVC-hevc_rext\bin\ffmpeg_w32 )

./include
include

And I comment off win32-gcc in .pro file. If not, errors like 'cannot find -lkvazaar.dll' appear. But actually, I didn't got dlls for opus, speexdsp and kvazaar.

Finally, I got 1900+ errors like these
errors1
erros2

I don't know how to fix these up, could you give me help ?

Here's the screenshot of edited .pro file
profile

Screen sharing is not working

Symptoms

Self view shows the shared screen correctly, but nothing is transmitted to call peers.

Environment

All

Reproduction

Call someone and enable screen sharing.

Suspected Cause

The correct resolution is not set for Kvazaar filter and a bug fix removed the filters ability to adapt to different incoming resolutions.

STUN adress?

I got an error by running like:
NetworkCandidates: Warning! Either couldn't find interface or this interface has run out of ports
NetworkCandidates: BUG: Not port set. Can't get STUN address

But really do not know how to avoid it.
Could you pls help me? Thanks

Compile problem with VS 2017

it is too many problem by compiling with VS2017.
I have got error like
src\initiation\transaction\sipclient.cpp(93): error C2440: 'initializing': cannot convert from 'initializer list' to 'ViaInfo'
src\initiation\transaction\sipclient.cpp(93): note: No constructor could take the source type, or constructor overload resolution was ambiguous
sipdialog.cpp
src\initiation\transaction\sipdialog.cpp(30): error C2440: 'initializing': cannot convert from 'initializer list' to 'SIP_URI'
src\initiation\transaction\sipdialog.cpp(30): note: No constructor could take the source type, or constructor overload resolution was ambiguous
sipregistrations.cpp
src\initiation\transaction\sipregistrations.cpp(65): error C2440: 'initializing': cannot convert from 'initializer list' to 'SIP_URI'
src\initiation\transaction\sipregistrations.cpp(65): note: No constructor could take the source type, or constructor overload resolution was ambiguous
sipserver.cpp
src\initiation\transaction\sipserver.cpp(124): error C2440: 'initializing': cannot convert from 'initializer list' to 'SIP_URI'
src\initiation\transaction\sipserver.cpp(124): note: No constructor could take the source type, or constructor overload resolution was ambiguous

Do you have any idea?
Thanks

bad audio quality in Ubuntu 20.04

Currently, audio quality is too bad with echo and noises.
Maybe sample rate for audio (16000) is set not correctly, or other problems

Screen sharing without a camera

Symptoms

Screen sharing does not work if no camera has been attached

Reproduction

Open Kvazzup in a computer without a webcam and enable screen sharing.

Environment

  • OS: Linux and Windows at least
  • Kvazzup 0.10
  • Qt 5.15.2

"Illegal instruction" crash when starting a call on Linux in release mode

Symptoms

Kvazzup crashes by printing Illegal Instruction.

Setup

Linux OS using GCC in release mode. Qt version unknown.

Reproduction

Call to another Kvazzup in LAN on Linux with release build?

Suspected Cause

Hard to say at this point. Could be that some optimization is not supported. Illegal Instruction would point to one of Kvazzups dependencies, either they have a problem or Kvazzup is using them incorrectly.

Log

QMetaObject::connectSlotsByName: No matching signal for on_about_clicked()
 ============================================================================= 
KvazzupController:                      Kvazzup initiation Started
 ============================================================================= 
ContactList:                            Reading contact list (# of contacts: 1)
VideoDrawHelper:                        Warning! Tried updating target rect before picture
Settings Helper:                        Warning! Found missing setting. Resetting video settings (Missing key: sip/ServerAddress)
Settings:                               Warning! Could not restore settings! Resetting settings from defaults.
Settings:                               Recording settings
VideoSettings:                          Resettings video settings fomr UI
VideoSettings:                          Initializing formats
Camera Info:                            Getting text of 0 video formats (DeviceID: 0)
VideoSettings:                          Saving video Settings
VideoSettings:                          Recording capability settings for device (Device Index: 0)
VideoSettings:                          Box status
                                        -- Format: -1
                                        -- Resolution: -1

Camera Info:                            Getting text of 0 video formats (DeviceID: 0)
Camera Info:                            Getting text of 0 video formats (DeviceID: 0)
VideoSettings:                          Recorded following video settings.
                                        -- Resolution: 0x0
                                        -- Resolution Index: 0
                                        -- Format: No_camera

Settings Helper:                        Writing list from GUI to settings
                                        -- File: kvazzup.ini
                                        -- List name: parameters
                                        -- Table items: 0

AudioSettings:                          Saving audio Settings
Settings:                               Opening settings
Settings Helper:                        ERROR! Missing setting found (Key: video/OWF)
AudioSettings:                          Saving audio Settings
VideoSettings:                          Initializing formats
Camera Info:                            Getting text of 0 video formats (DeviceID: 0)
VideoSettings:                          Max Threads (Threads: 4)
Settings Helper:                        ERROR! Missing setting found (Key: video/OWF)
VideoSettings:                          Resettings video settings fomr UI
VideoSettings:                          Initializing formats
Camera Info:                            Getting text of 0 video formats (DeviceID: 0)
VideoSettings:                          Saving video Settings
VideoSettings:                          Recording capability settings for device (Device Index: 0)
VideoSettings:                          Box status
                                        -- Format: -1
                                        -- Resolution: -1

Camera Info:                            Getting text of 0 video formats (DeviceID: 0)
Camera Info:                            Getting text of 0 video formats (DeviceID: 0)
VideoSettings:                          Recorded following video settings.
                                        -- Resolution: 0x0
                                        -- Resolution Index: 0
                                        -- Format: No_camera

Settings Helper:                        Writing list from GUI to settings
                                        -- File: kvazzup.ini
                                        -- List name: parameters
                                        -- Table items: 0

Settings Helper:                        Reading list from settings
                                        -- File: blocklist.local
                                        -- List name: blocklist
                                        -- Items: 0

CallWindow:                             Initiating, CallWindow: Creating statistics window
ChartPainter:                           Initiating chart (Title: Bandwidth (kbit/s))
ChartPainter:                           Initiating chart (Title: Bit rates (kbit/s))
ChartPainter:                           Initiating chart (Title: Bit rates (kbit/s))
ChartPainter:                           Initiating chart (Title: Latencies (ms))
ChartPainter:                           Initiating chart (Title: Latencies (ms))
ChartPainter:                           Initiating chart (Title: Frame rates (fps))
SIPManager:                             Listening to SIP TCP connections (Port: 5060)
SIPDialogManager:                       Iniating SIP Transactions
SIPRegistrations:                       Initiatin Registrations
NetworkCandidates:                      Allocating (but not reserving) ports for media
                                        -- Min ports: 38500
                                        -- Max port: 39500

MediaManager:                           Initiating
FilterGraph:                            Iniating camera and selfview
CameraFilter:                           Initiating Qt camera (ID: 0)
CameraFilter:                           Using the following camera settings.
                                        -- Format: No_camera
                                        -- Resolution: 640x480
                                        -- Framerate: 30 to 30

ChartPainter:                           Initiating chart (Title: Frame rates (fps))
 ============================================================================= 
CameraFilter:                           Starting camera.
 ============================================================================= 
FilterGraph:                            Connecting filters (Connection: Camera -> Display)
FilterGraph:                            Connecting filters (Connection: Screen Sharing -> Display)
 ============================================================================= 
KvazzupController:                      Kvazzup initiation finished
 ============================================================================= 
VideoDrawHelper:                        Warning! Tried updating target rect before picture
GUIMessage:                             Closing message (Waiting messages: 0)
Settings:                               Closing Settings. Gettings settings from file.
Settings Helper:                        Warning! Found missing setting. Resetting video settings (Missing key: sip/ServerAddress)
Settings:                               Recording settings
VideoSettings:                          Saving video settings
VideoSettings:                          Saving video Settings
VideoSettings:                          Recording capability settings for device (Device Index: 0)
VideoSettings:                          Box status
                                        -- Format: -1
                                        -- Resolution: -1

Camera Info:                            Getting text of 0 video formats (DeviceID: 0)
Camera Info:                            Getting text of 0 video formats (DeviceID: 0)
VideoSettings:                          Recorded following video settings.
                                        -- Resolution: 0x0
                                        -- Resolution Index: 0
                                        -- Format: No_camera

Settings Helper:                        Writing list from GUI to settings
                                        -- File: kvazzup.ini
                                        -- List name: parameters
                                        -- Table items: 0

CameraFilter:                           Updating camera settings since they have changed
CameraFrameGrabber:                     Warning! Not a valid frame
CameraFilter:                           Initiating Qt camera (ID: 0)
CameraFilter:                           Using the following camera settings.
                                        -- Format: No_camera
                                        -- Resolution: 640x480
                                        -- Framerate: 30 to 30

ChartPainter:                           Initiating chart (Title: Frame rates (fps))
 ============================================================================= 
CameraFilter:                           Starting camera.
 ============================================================================= 
FilterGraph:                            Starting camera
Common:                                 Warning! Found faulty setting (Key: sip/ServerAddress)
SIPManager:                             Warning! SIP Registrar was empty or we have already registered. No registering.
VideoSettings:                          Cancelled modifying video settings. Getting settings from system.
VideoSettings:                          Initializing formats
Camera Info:                            Getting text of 0 video formats (DeviceID: 0)
VideoSettings:                          Max Threads (Threads: 4)
VideoSettings:                          Restoring previous video settings from file. (Filename: /home/ubuntu/Desktop/VideoConf/bin/kvazzup.ini)
Settings Helper:                        Reading list from settings
                                        -- File: kvazzup.ini
                                        -- List name: parameters
                                        -- Items: 0

Settings:                               Opening settings
Settings:                               Closing Settings. Gettings settings from file.
Settings Helper:                        Warning! Found missing setting. Resetting video settings (Missing key: sip/ServerAddress)
Settings:                               Closing Settings. Gettings settings from file.
Settings Helper:                        Warning! Found missing setting. Resetting video settings (Missing key: sip/ServerAddress)
KvazzupController:                      Starting call with contact (Contact: BinhHP)
SIPTransport:                           Initiating TCP connection for sip connection (TransportID: 1)
TCPConnection:                          Establishing connection
                                        -- Destination: 192.168.178.101
                                        -- port: 5060

 ============================================================================= 
TCPConnection:                          Starting TCP loop
 ============================================================================= 
TCPConnection:                          Starting to connect TCP
TCPConnection:                          Checking status (Address: 192.168.178.101:5060)
TCPConnection:                          Attempting to connect (Attempt: 1)
TCPConnection:                          Connected succesfully (Connection: 192.168.178.111:37948 <-> 192.168.178.101:5060)
SIPDialogManager:                       Intializing a new dialog by sending an INVITE
SIPDialogState:                         Creating a new dialog.
Local dialog created. CallID:  "FUjXaXS1huWMxnHC" Tag: "juw5B7nF7nJXr9JP" Cseq: 1617104989
SIPDialogState:                         Setting peer-to-peer address.
SIP, Dialog client: Starting a call and sending an INVITE in session
SIPDialogClient:                        Client starts sending a request. (Type: 1)
SIPDialog:                              Iniate sending of a dialog request
SIPDialogState:                         Increasing CSeq (CSeq: 1617104990)
 ============================================================================= 
SIPTransport:                           Composing and sending SIP Request: (Type: INVITE)
 ============================================================================= 
SIPDialog:                              Finished sending of a dialog request
TCPConnection:                          Writing buffer to TCP socket (Buffer size: 1)
ConferenceView:                         Adding widget to display that we are calling someone. (SessionID: 1)
ConferenceView:                         Checks session: SessionID does not exist
ConferenceView:                         Checks session: SessionID does not exist
ConferenceView:                         Initializing session (SessionID: 1)
TCPConnection:                          Written to socket (Bytes: 382)
TCPConnection:                          Can read one line (Bytes available: 318)
SIPTransport:                           Parsing package to header and body
                                        -- Messages parsed so far: 0
                                        -- Header end index: 318
                                        -- content-length index: 297

SIPTransport:                           Parsed Content-length (Content-length: 0)
Parsing SIP header with 8 lines
Found following SIP fields: ("Via", "Max-Forwards", "To", "From", "Call-ID", "CSeq", "Content-Length")
 ============================================================================= 
SIPTransport:                           Parsing incoming response (Type: 180)
 ============================================================================= 
SIPRouting:                             Found our via. This is meant for us!
SIPDialogManager:                       Starting to process identifying SIP response dialog.
We don't yet have their remote Tag. Using the one in response.
SIPDialogManager:                       Found dialog matching the response
SIPDialogClient:                        Client starts processing response
SIPDialogClient:                        Got a provisional response. Restarting timer.
KvazzupController:                      Our call is ringing
Ringing, ConferenceView : Call is ringing. SessionID 1
SIPDialogManager:                       Response processing finished (SessionID: 1)
TCPConnection:                          Can read one line (Bytes available: 887)
SIPTransport:                           Parsing package to header and body
                                        -- Messages parsed so far: 0
                                        -- Header end index: 411
                                        -- content-length index: 357

SIPTransport:                           Parsed Content-length (Content-length: 476)
Parsing SIP header with 10 lines
Found following SIP fields: ("Via", "Max-Forwards", "To", "From", "Call-ID", "CSeq", "Contact", "Content-Length", "Content-Type")
Found media: "audio"
Correctly matched a flag attribute:  "sendrecv"
Found media: "video"
Correctly matched a flag attribute:  "sendrecv"
Parsed SDP is valid.
Successfully parsed SDP
 ============================================================================= 
SIPTransport:                           Parsing incoming response (Type: 200)
 ============================================================================= 
SIPRouting:                             Found our via. This is meant for us!
SIPDialogManager:                       Starting to process identifying SIP response dialog.
SIPDialogManager:                       Found dialog matching the response
SIPManager:                             Got first SDP offer.
Negotiation:                            Found following codecs in SDP (Codecs: pcm, h265)
SDPNegotiator:                          Found suitable RTP number.
SDPNegotiator:                          Found suitable codec.
ICE:                                    Start Generating ICE candidates
                                        -- Local: 4
                                        -- Global: 0
                                        -- STUN: 0
                                        -- STUN relays: 0
                                        -- TURN: 0

 ============================================================================= 
ICE:                                    Starting ICE nomination
 ============================================================================= 
ICE:                                    Created 4 candidate pairs
SIPDialogClient:                        Client starts processing response
 ============================================================================= 
KvazzupController:                      They accepted our call!
 ============================================================================= 
SIPDialogClient:                        Client starts sending a request. (Type: 2)
SIPDialog:                              Iniate sending of a dialog request
SIPManager:                             Adding SDP content to request
 ============================================================================= 
SIPTransport:                           Composing and sending SIP Request: (Type: ACK)
 ============================================================================= 
SIPContent:                             Parameter SDP is valid. Starting to compose to string.
Sending, SIPContent : Composed SDP string: v=0
o=BinhT420 1617104991326 1617104991326 IN IP4 192.168.178.111
s=HEVCVideoCall
c=IN IP4 192.168.178.111 
t=0 0
m=audio 0 RTP/AVP 0
a=sendrecv
m=video 0 RTP/AVP 97
a=rtpmap:97 h265/90000
a=sendrecv
a=candidate:1 1 UDP 2130706431 192.168.178.111 38500 typ host
a=candidate:1 2 UDP 2130706430 192.168.178.111 38501 typ host
a=candidate:1 3 UDP 2130706429 192.168.178.111 38502 typ host
a=candidate:1 4 UDP 2130706428 192.168.178.111 38503 typ host

SIPDialog:                              Finished sending of a dialog request
TCPConnection:                          Writing buffer to TCP socket (Buffer size: 1)
IcePairTester:                          Controller starts connectivity tests. (Pair: 192.168.178.111:38500 <-> 192.168.178.101:38500)
KvazzupController:                      Call negotiated
KvazzupController:                      Waiting for the ICE to finish before starting the call.
SIPDialogManager:                       Response processing finished (SessionID: 1)
IcePairTester:                          Controller starts connectivity tests. (Pair: 192.168.178.111:38502 <-> 192.168.178.101:38502)
TCPConnection:                          Written to socket (Bytes: 842)
IcePairTester:                          Controller starts connectivity tests. (Pair: 192.168.178.111:38503 <-> 192.168.178.101:38503)
IcePairTester:                          Controller starts connectivity tests. (Pair: 192.168.178.111:38501 <-> 192.168.178.101:38501)
IcePairTester:                          Controller found a connection (Pair: 192.168.178.111:38500 <-> 192.168.178.101:38500)
IceSessionTester:                       Controller component finished (Finished components: 1/4)
IcePairTester:                          Controller found a connection (Pair: 192.168.178.111:38503 <-> 192.168.178.101:38503)
IcePairTester:                          Controller found a connection (Pair: 192.168.178.111:38501 <-> 192.168.178.101:38501)
IcePairTester:                          Controller found a connection (Pair: 192.168.178.111:38502 <-> 192.168.178.101:38502)
IceSessionTester:                       Controller component finished (Finished components: 2/4)
IceSessionTester:                       Controller component finished (Finished components: 3/4)
IceSessionTester:                       Controller component finished (Finished components: 4/4)
 ============================================================================= 
ICE:                                    ICE finished.
                                        -- Component 1: 192.168.178.111:38500 <-> 192.168.178.101:38500
                                        -- Component 2: 192.168.178.111:38501 <-> 192.168.178.101:38501
                                        -- Component 3: 192.168.178.111:38502 <-> 192.168.178.101:38502
                                        -- Component 4: 192.168.178.111:38503 <-> 192.168.178.101:38503

 ============================================================================= 
Negotiation:                            ICE nomination has succeeded (SessionID: 1)
KvazzupController:                      ICE has been successfully completed (SessionID: 1)
KvazzupController:                      Call has been agreed upon with peer. (SessionID: 1)
ConferenceView:                         Adding Videostream. (SessionID: 1)
View, VideoFactory : Creating videowidget for sessionID: 1
VideoviewFactory:                       Created video widget.
                                        -- SessionID: 1
                                        -- View Number: 1

ConferenceView:                         Clearing all previous views.
VideoDrawHelper:                        Warning! Tried updating target rect before picture
Delivery:                               Adding new peer
Delivery:                               RTP streamer (SessionID: 1)
MediaManager:                           Start creating media.
                                        -- Outgoing media: 2
                                        -- Incoming media: 2

MediaManager:                           Using media specific address for outgoing media.
                                        -- Type: audio
                                        -- Path: 192.168.178.111:38502 -> 192.168.178.101:38502

Delivery:                               Creating mediastream
Delivery:                               Creating sender filter
AudioCaptureFilter:                     Initializing audio capture filter.
[RTPLIB][WARNING][::set_payload] Unknown RTP format, setting clock rate to 10000
AudioCaptureFilter:                     A microphone chosen. (Device name: default)
AudioCaptureFilter:                     Creating audio input. (Notify interval (ms): 1000)
AudioCaptureFilter:                     Audio initializing completed.
AudioCaptureFilter:                     Resuming audio input.
AECProcessor:                           Initiating echo frame processing (Filter length: 1600)
FilterGraph:                            Connecting filters (Connection: Audio_Capture -> AEC input)
FilterGraph:                            Starting microphone
AudioCaptureFilter:                     Resuming audio input.
MediaManager:                           Using media specific address for outgoing media.
                                        -- Type: video
                                        -- Path: 192.168.178.111:38500 -> 192.168.178.101:38500

Delivery:                               Creating mediastream
Delivery:                               Creating sender filter
UvgRTPSender:                           Updated buffersize (Size: 64)
FilterGraph:                            Adding send video (SessionID: 1)
FilterGraph:                            Iniating video send
FilterGraph:                            Filter output and input do not match. Finding conversion (Connection: Camera->Kvazaar)
FilterGraph:                            Adding RGB32 to YUV conversion
FilterGraph:                            Connecting filters (Connection: Camera -> RGB32toYUV)
FilterGraph:                            Connecting filters (Connection: RGB32toYUV -> Kvazaar)
"Kvazaar" iniating
Using preset ultrafast: --rd=0 --pu-depth-intra=2-3 --pu-depth-inter=1-2 --me=hexbs --gop=8 --ref=1 --bipred=1 --deblock=0:0 --signhide=0 --subme=0 --sao=off --rdoq=0 --rdoq-skip=0 --transform-skip=0 --mv-rdo=0 --full-intra-search=0 --smp=0 --amp=0 --cu-split-termination=zero --me-early-termination=sensitive --intra-rdo-et=0 --early-skip=1 --fast-residual-cost=28 --max-merge=5 
Initialization, Filter Getting custom Kvazaar options: 0
Compiled: INTEL, flags: MMX SSE SSE2
Detected: INTEL, flags: MMX SSE SSE2 SSE3 SSSE3 SSE41 SSE42 AVX
Available: sse2(2) sse41(4) 
In use: sse2(1) sse41(4) 
"Kvazaar" iniation succeeded.
FilterGraph:                            Filter output and input do not match. Finding conversion (Connection: Screen Sharing->Kvazaar)
FilterGraph:                            Adding RGB32 to YUV conversion
FilterGraph:                            Connecting filters (Connection: Screen Sharing -> RGB32toYUV)
FilterGraph:                            Connecting filters (Connection: RGB32toYUV -> Kvazaar)
"Kvazaar" iniating
MediaManager:                           Using media specific address for incoming.
                                        -- Type: audio
                                        -- Address: 192.168.178.111
                                        -- Port: 38502

Delivery:                               Creating receiver filter
FilterGraph:                            Connecting filters (Connection: RTP Receiver PCM -> Audio Mixer)
MediaManager:                           Using media specific address for incoming.
                                        -- Type: video
                                        -- Address: 192.168.178.111
                                        -- Port: 38500

Delivery:                               Creating receiver filter
FilterGraph:                            Connecting filters (Connection: RTP Receiver HEVC -> OpenHEVC)
Filter:                                 Starting to initiate OpenHEVC
[hevc @ 0x55ef09981e30] nb threads_frame = 1, nb threads_slice 1, thread_type = null 
[hevc @ 0x55ef090434f0] nb threads_frame = 1, nb threads_slice 1, thread_type = null 
Filter:                                 OpenHEVC initiation successful. (Version: OpenHEVC v2.0)
FilterGraph:                            Filter output and input do not match. Finding conversion (Connection: OpenHEVC->Display)
FilterGraph:                            Adding YUV to RGB32 conversion
FilterGraph:                            Connecting filters (Connection: OpenHEVC -> YUVtoRGB32)
FilterGraph:                            Connecting filters (Connection: YUVtoRGB32 -> Display)
KvazzupController:                      Waiting for the ICE to finish before starting the call.
AudioOutputDevice:                      Warning! Read too little audio data. (Read vs available: 0 vs 1280)
AudioOutputDevice:                      Warning! Read too little audio data. (Read vs available: 0 vs 1280)
AudioOutputDevice:                      Warning! Read too little audio data. (Read vs available: 0 vs 1280)
AudioOutputDevice:                      Warning! Read too little audio data. (Read vs available: 0 vs 1280)
AudioOutputDevice:                      Warning! Read too little audio data. (Read vs available: 0 vs 1280)
AudioOutputDevice:                      Warning! Read too little audio data. (Read vs available: 0 vs 1280)
AudioOutputDevice:                      Warning! Read too little audio data. (Read vs available: 0 vs 1280)
AudioOutputDevice:                      Warning! Read too little audio data. (Read vs available: 0 vs 1280)
AudioOutputDevice:                      Warning! Read too little audio data. (Read vs available: 0 vs 1280)
AudioOutputDevice:                      Warning! Read too little audio data. (Read vs available: 0 vs 1280)
AudioOutputDevice:                      Warning! Read too little audio data. (Read vs available: 0 vs 1280)
AudioCaptureFilter:                     Audio Input State changed (States:: Current: 0, Wanted: 0)
Processing, "Kvazaar" buffer full. Discarded input: 1 Total input: 4
AudioOutputDevice:                      Warning! Read too little audio data. (Read vs available: 0 vs 1280)
AudioOutputDevice:                      Warning! Read too little audio data. (Read vs available: 0 vs 1280)
AudioOutputDevice:                      Warning! Read too little audio data. (Read vs available: 0 vs 1280)
AudioOutputDevice:                      Warning! Read too little audio data. (Read vs available: 0 vs 1280)
AudioOutputDevice:                      Warning! Read too little audio data. (Read vs available: 0 vs 1280)
Filter:                                 Parameter set found (Frame received before: 0)
Filter:                                 PEER ERROR:Detected no slices in incoming stream.
Filter:                                 Uniniating.
[hevc @ 0x55ef09981e30] flush, decoder_0.
Filter:                                 Starting to initiate OpenHEVC
[hevc @ 0x7fde20076530] nb threads_frame = 1, nb threads_slice 1, thread_type = null 
[hevc @ 0x7fde20035f00] nb threads_frame = 1, nb threads_slice 1, thread_type = null 
Filter:                                 OpenHEVC initiation successful. (Version: OpenHEVC v2.0)
Illegal instruction (core dumped)

Qt is unable to get Camera parameters on Windows Surface Pro 7

Hi, i was searching for a high quality video call program which support hevc and found this. Is this production ready to use or does this not really work? I'm using a windows surface pro 7 installed 0.09 and saw this in option (nothing selectable):

grafik

this isn't right, is it?

Pad video frames not divisible by 8

Symptoms

Kvazzup removes lines from video frames with resolution not divisible by 8. It should instead pad the data with extra lines for resolutions that are not divisible by 8 which are then removed by the decoder. This way we don't lose those extra lines.

Environment

All

Comment

This issue is not important, but I recorded it so it'll be fixed at some point.

Fine tuning AEC

The AEC works now, but there would more room for fine tuning.

The aspect that should be tuned:

  • Is it better to do DSP tools before or after AEC?
  • Test different configurations to find optimal default output delay value

This issue should be done after #14 is complete

Reducing audio latency

Qt is not designed for use with real-time audio. I've come to the conclusion that a real-time audio library should be included to handle input and output. I found that RTAudio was most suggested for this task.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.