thegooglecodearchive / video-tester

Automatically exported from code.google.com/p/video-tester
GNU General Public License v3.0
0 stars 0 forks source link

Seems it is difficult to use #3

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1.I Installed required packages and video tester itself in several systems.
  a- Fedora 16
  b- Kubuntu 12.10
  c- Kubuntu 13.04

2. The first problem in Fedora 16 and Kubuntu 12.10: During transmission an 
error occurs. This issue is discussed 
in:https://code.google.com/p/video-tester/issues/detail?id=2

But after reading and trying it several times, the problem still remains in 
both Fedora 16 and Kubuntu 12.10.
It seems there is a problem with closing the stream client object. 
Based on my searches on the net, I guess the client object should close and 
teardown the stream right after the transmission ends. I didn't work with 
gstreamer and python so much and I couldn't go further. 

3. Now in my completely new system with Kubuntu 13.04 64 bit, I have another 
problem. Server side process stops with following message:
[2013-05-04 02:42:54,601 VTServer] INFO : XMLRPC Server running at 
165.132.221.53:8000
[2013-05-04 02:42:54,601 VTServer] INFO : Use Control-C to exit
[2013-05-04 02:46:06,552 VTServer] INFO : RTSP Server running!
[2013-05-04 02:46:06,553 VTServer] INFO : PID: 19444, 258 kbps - 30 fps server, 
connected clients: 1
libva: VA-API version 0.32.0
libva: va_getDriverName() returns 0
libva: Trying to open /usr/lib/x86_64-linux-gnu/dri/r600_drv_video.so
libva: va_openDriver() returns -1

What is the expected output? What do you see instead?

What version of the product are you using? On what operating system?

Please provide any additional information below.

Original issue reported on code.google.com by ali.a.kh...@gmail.com on 3 May 2013 at 6:04

GoogleCodeExporter commented 9 years ago
If you could provide a binary package, maybe it would help. 

Original comment by ali.a.kh...@gmail.com on 3 May 2013 at 6:11

GoogleCodeExporter commented 9 years ago
Python is a scripting language, so there are no binaries.

VideoTester should work on Fedora 16. Are you running the client and the server 
at the same machine? Have you tried to substitute "iface=eth0" with "iface=lo" 
at VT.conf?

Original comment by i.uca...@gmail.com on 3 May 2013 at 10:42

GoogleCodeExporter commented 9 years ago
Hello,

Thanks for your reply. First of all, With binary I meant coded and compiled in 
c, c++ etc. I wrote that comment in 3 A.M. And I apologize since the answer is 
obvious. :)

Dear Iñaki, I did following steps again:
1- installed a fresh fedora 16 32 bit.
2- disabled update repository so that Fedora won't use updated packages.
3- installed all required packages as has been mentioned in documents. 
4- IP address is set to 127.0.0.1, the port value is left as default and 
"iface" is set to lo in VT.conf
5- Please find the attached file "mylog" for on screen report of the 
installation.
4- video sample downloaded from the following webpage is used:
http://www2.tkn.tu-berlin.de/research/evalvid/cif.html
6- It seems there is a problem in installation process which file 
~/VideoTester/config.py does not change, and so I manually edited the end of 
the file as "SERVERIFACE = 'lo'"
7- Starting #./VT server and then #./VT client results following errors:
Client Side:
-----
2013-05-04 15:36:47,870 VTClient] INFO : Client running!
[2013-05-04 15:36:47,871 VTClient] INFO : XMLRPC Server at 127.0.0.1:8000
[2013-05-04 15:36:47,871 VTClient] INFO : Evaluating: video0 + h263 at 128 kbps 
and 25 fps under udp-unicast
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/pygst.py", line 28, in <module>
    import sys
KeyError: 'pygst'
** Message: pygobject_register_sinkfunc is deprecated (GstObject)
[2013-05-04 15:36:50,141 VTClient] INFO : Starting sniffer...
[2013-05-04 15:36:50,639 VTClient] INFO : Pinging...
[2013-05-04 15:36:52,706 VTClient] INFO : Starting GStreamer receiver...
[2013-05-04 15:36:53,497 VTClient] ERROR : GStreamer: MESSAGE_ERROR received
[2013-05-04 15:36:53,498 VTClient] ERROR : Could not read from resource.
[2013-05-04 15:36:53,499 VTClient] INFO : GStreamer receiver stopped
^CProcess Process-1:
[2013-05-04 15:46:44,256 VTClient] WARNING : Keyboard interrupt!
Traceback (most recent call last):
  File "/usr/lib/python2.7/multiprocessing/process.py", line 258, in _bootstrap
    self.run()
  File "/usr/lib/python2.7/multiprocessing/process.py", line 114, in run
    self._target(*self._args, **self._kwargs)
  File "/home/ali/VideoTester-0.2/VideoTester/sniffer.py", line 64, in run
    cap = self.sniff(iface=self.conf['iface'], filter=expr)
  File "/home/ali/VideoTester-0.2/VideoTester/sniffer.py", line 88, in sniff
    sel = select([s],[],[],remain)
-----------------------------------------------

Server Side:
----
[2013-05-04 15:36:40,214 VTServer] INFO : XMLRPC Server running at 
127.0.0.1:8000
[2013-05-04 15:36:40,214 VTServer] INFO : Use Control-C to exit
** Message: pygobject_register_sinkfunc is deprecated (GstObject)
[2013-05-04 15:36:50,132 VTServer] INFO : RTSP Server running!
[2013-05-04 15:36:50,133 VTServer] INFO : PID: 30458, 128 kbps - 25 fps server, 
connected clients: 1

(VT:30458): GStreamer-CRITICAL **: gst_poll_set_flushing: assertion `set != 
NULL' failed

(VT:30458): GStreamer-CRITICAL **: gst_poll_set_flushing: assertion `set != 
NULL' failed

(VT:30458): GStreamer-CRITICAL **: gst_poll_set_flushing: assertion `set != 
NULL' failed

(VT:30458): GStreamer-CRITICAL **: gst_poll_set_flushing: assertion `set != 
NULL' failed
/home/ali/VideoTester-0.2/VideoTester/gstreamer.py:83: Warning: g_object_ref: 
assertion `G_IS_OBJECT (object)' failed
  self.loop.run()

** (VT:30458): CRITICAL **: gst_rtsp_media_factory_get_auth: assertion 
`GST_IS_RTSP_MEDIA_FACTORY (factory)' failed
---------------------------------------------------------------------

8- As I mentioned before, I have found some solution for this error on the net:
http://permalink.gmane.org/gmane.comp.video.gstreamer.bugs/85738

In summary: "The problem occurs when the client abruptly closes the connection 
without issuing a TEARDOWN.  The TEARDOWN handler in the rtsp-client.c file of 
the
RTSP server is where the pipeline gets torn down.  Since this handler is not
called, the pipeline remains and is up and running.  Subsequent clients get 
their
own pipelines and if the do not issue TEARDOWNs then those pipelines will also 
remain up and running.  This is a resource leak."

Original comment by ali.a.kh...@gmail.com on 4 May 2013 at 7:15

Attachments:

GoogleCodeExporter commented 9 years ago
Oh, sorry, I forgot one detail in the installation instructions that may not be 
obvious for non-Fedora users... These packages:

gstreamer-plugins-ugly
gstreamer-plugins-bad-nonfree
gstreamer-ffmpeg

need RPM Fusion repositories: http://rpmfusion.org/

Your log indicates that video transmission did not even start, so there can't 
be a problem with the TEARDOWN. Don't disable Update repository and try 
installing those packages, please. I've just tried with a fresh Fedora 16 
installation and everything works well.

Original comment by i.uca...@gmail.com on 4 May 2013 at 2:22

GoogleCodeExporter commented 9 years ago
Yes! It worked. ^.^
Thank you very much, after several days working on this tool I'm glad now. 
GUI is very good though. It is helping so much.
Althoght it worked perfectly, I got some messages on the terminal screen which 
probably doesn't do anything with the results. The messages are:
-----
Client Side:
(gst-plugin-scanner:2677): GLib-GObject-CRITICAL **: g_param_spec_boolean: 
assertion `default_value == TRUE || default_value == FALSE' failed

(gst-plugin-scanner:2677): GLib-GObject-CRITICAL **: 
g_object_class_install_property: assertion `G_IS_PARAM_SPEC (pspec)' failed

(gst-plugin-scanner:2677): GLib-GObject-CRITICAL **: g_param_spec_boolean: 
assertion `default_value == TRUE || default_value == FALSE' failed

(gst-plugin-scanner:2677): GLib-GObject-CRITICAL **: 
g_object_class_install_property: assertion `G_IS_PARAM_SPEC (pspec)' failed

(gst-plugin-scanner:2677): GLib-GObject-CRITICAL **: g_param_spec_boolean: 
assertion `default_value == TRUE || default_value == FALSE' failed

(gst-plugin-scanner:2677): GLib-GObject-CRITICAL **: 
g_object_class_install_property: assertion `G_IS_PARAM_SPEC (pspec)' failed
** Message: pygobject_register_sinkfunc is deprecated (GstObject)

Thanks again for your great help. :)
Best Regards,

Original comment by ali.a.kh...@gmail.com on 4 May 2013 at 3:45

GoogleCodeExporter commented 9 years ago
Those messages should not prejudice the results. Sorry for the inconveniences. 
GStreamer is a great tool, but working with it is not easy. :/

Thank you for the feedback!

Original comment by i.uca...@gmail.com on 4 May 2013 at 4:58