2 support nodes - private source broadcasting problem (EN)

Hi everybody, sorry if i can only use English (and Vietnamese :D), i need your help.

I’ve been testing Acestream solution for P2P streaming for a week. It plays well but I’ve got a problem when broadcasting with “–private-source” option

I use 01 source server with 02 support nodes like on this guide: Streaming/en - Ace Stream Wiki . It works but private source. When i use “–private-source” option, the player finds no active peers and streams, and there is no connection between client and nodes

http://dongcodiesel.com.vn/upload/images/2013/08/28/2013-08-28101955.png

[b]I install Acestream on Centos 5.3 64bit, and here is the configuration:

  • Source: 10.0.1.200[/b]
acestreamengine-stream \
--name "lala" \
--debug 1 \
--source "http://10.0.1.100:8080" \
--bitrate 64000 \
--publish-dir "/var/www/html" \
-n "10.0.1.300:8621" \
-n "10.0.1.400:8621" \
--cache-dir "/tmp/" -\
-add-authorized-peers \
--private-source \
--show-pieces > /tmp/test.log 2>&1

* Support Nodes: 10.0.1.300

acestreamengine-node \
--url "http://10.0.1.200/lala.acelive" \
--state-dir "/tmp" \
--source-node "10.0.1.200:7764" \
--allow-source-download \
--debug 1 \
--show-pieces \
--support-node "10.0.1.400:8621" \
--allow-support-download > /tmp/test.log

* Support Nodes: 10.0.1.400

acestreamengine-node \
--url "http://10.0.1.200/lala.acelive" \
--state-dir "/tmp" \
--source-node "10.0.1.200:7764" \
--allow-source-download \
--debug 1 \
--show-pieces \
--support-node "10.0.1.300:8621" \
--allow-support-download > /tmp/test.log

And here is the source log:

not using apsw 2013-08-27 17:35:00 lm::guess_ext_ip_from_local_info: result of get_my_wan_ip() 10.0.1.200 2013-08-27 17:35:00 LM::register: got listen port 7764 2013-08-27 17:35:00 lm::start_upnp: upnp_type 3 locally_guessed_ext_ip 10.0.1.200 listen_port 7764 createlivestream: open stream: url http://10.0.1.100:8080 reader builtin thread MainThread 2013-08-27 17:35:00 LM::add: new download: infohash <82>n^MYlyc]Kâ^Y6<99> 2013-08-27 17:35:00 session::add_to_int_tracker: filename /tmp/tmp3hKQNI/itracker/82d26ec50d596ce37963cf5d4be28a92193699e3.torren t url-compat False private source: True support nodes: [['10.0.1.300', 8621], ['10.0.1.400', 8621]] trackers: [['http://10.0.1.200:7764/announce/']] authorized peers: [['10.0.1.300', 8621], ['10.0.1.400', 8621]] bitrate: 518000 piece size: 262144 publish dir: /var/www/html cache dir: /tmp/ ------------------------ 2013-08-27 17:35:00 stream::create_pid_file: pid 14220 port 7764 path /tmp/acestreamengine-7764.pid 2013-08-27 17:35:00 lm::dequeue_and_start_hashcheck: infohash 82d26ec50d596ce37963cf5d4be28a92193699e3 thread NetworkThread-2 2013-08-27 17:35:00 lm::hashcheck_done: success True infohash 82d26ec50d596ce37963cf5d4be28a92193699e3 len_queue 0 thread Network Thread-2 2013-08-27 17:35:00 stream: started input thread 2013-08-27 17:35:00 bt::startRerequester: skip start for private source 2013-08-27 17:35:00 lm::hashcheck_done: sd.hashcheck_done() finished, time 0.0788450241089 2013-08-27 17:35:00 lm::hashcheck_done: sd not found in queue: infohash 82d26ec50d596ce37963cf5d4be28a92193699e3 thread NetworkTh read-2 2013-08-27 17:35:00 lm::hashcheck_done: len(queue) 0 thread NetworkThread-2 2013-08-27 17:35:01 source::check_statistics_settings: --- 2013-08-27 17:35:02 RemoteStatisticsSettings::check_settings: got response: time 0.79109287262 response { "_expires": 86400, "tns": { "mode": "all", "url-list": { "default": ["http://tsplayer.mmi.bemobile.ua/vplayer/VPlayerEntry"], "pixel": ["http://juke.mmi.bemobile.ua/bug/pic.gif?siteid=tStream"] }, "options": { "only_license": 0, "online_interval": 60, "allowed_content_types": ["d", "o"] } }, "ts": { "mode": "none", "url-list": { "default": ["http://77.120.105.26/dl/stat"] } } }

2013-08-27 17:35:02 tstats::set_url_list: {u’default’: [u’http://77.120.105.26/dl/stat’]}
2013-08-27 17:35:02 source::check_statistics_settings: next run in 86400
2013-08-27 17:35:03 stream: restarting stream from piece 3907

And here is a node log:

not using apsw state dir: /tmp/tmpKNlc_A ---------------------------- 2013-08-27 17:34:51 stream::create_pid_file: pid 4310 port 8621 path /tmp/acestreamengine-8621.pid 2013-08-27 17:34:51 session::get_ts_metadata_from_db: infohash 82d26ec50d596ce37963cf5d4be28a92193699e3 2013-08-27 17:34:52 node::check_statistics_settings: --- 2013-08-27 17:34:52 vod: hook at piece 3907 2013-08-27 17:34:52 RemoteStatisticsSettings::check_settings: got response: time 0.743077039719 response { "_expires": 86400, "tns": { "mode": "all", "url-list": { "default": ["http://tsplayer.mmi.bemobile.ua/vplayer/VPlayerEntry"], "pixel": ["http://juke.mmi.bemobile.ua/bug/pic.gif?siteid=tStream"] }, "options": { "only_license": 0, "online_interval": 60, "allowed_content_types": ["d", "o"] } }, "ts": { "mode": "none", "url-list": { "default": ["http://77.120.105.26/dl/stat"] } } }

2013-08-27 17:34:52 tstats::set_url_list: {u’default’: [u’http://77.120.105.26/dl/stat’] }
2013-08-27 17:34:52 node::check_statistics_settings: next run in 86400

Please give me some advices. Thank you so much!

The problem is that you are trying to use private source with internal tracker.

When the source is private it accepts connections from support nodes only.
All other connections (including connections from peers to the internal tracker) are denied.

If you want to make the source node private you should use external tracker (for example, XBT Tracker - http://xbtt.sourceforge.net/tracker/)

The source configuration will look like this:
acestreamengine-stream
–name “lala”
–debug 1
–source “http://10.0.1.100:8080
–bitrate 64000
–publish-dir “/var/www/html”
-n “10.0.1.300:8621”
-n “10.0.1.400:8621”
–cache-dir “/tmp/” -
-add-authorized-peers
–private-source
–skip-internal-tracker
–tracker “udp://10.0.1.200:2710/announce”
–show-pieces > /tmp/test.log 2>&1

You can setup tracker on any existing server or on a dedicated server. If you have many users then the second option is better.

Oh that’s it! It makes me confusing for a day >"< Thank you anton! :smiley:

Oh by the way, does it work with a php tracker? I’m downloading XBT to test but my running tracker is based on NexusPHP :smiley: