
LlamaKISS
This is a replacement for the media streaming software known as PC-Link, by Linksys, former KISS Technology. It’s used to send videos, music and pictures from a Windows computer to KISS digital video recorders:
- KISS DP-500
- KISS DP-508
- KISS DP-558 (I owned this one myself, R.I.P)
- KISS DP-600
- KISS DP-1500
- KISS DP-1504
- KISS DP-1600
So why this replacement? Because the original PC-Link software didn’t work properly after I installed Windows Vista x64. When I tried to play videos, the pre-buffering paused resulting in out-of-sync sound. Very annoying, and rendering my DP-558 somewhat useless.
So why not use any of the other replacements? The only ones I’ve found are either made in Java (JLink, Kiss Now, Open DP-500), Perl (kissntell) or isn’t made for Windows and uses Cygwin (pd500serv, kissdx). LlamaKISS is a native Windows console application written in C++ using the WinSock API.
Does it work? With Windows Vista x64 and my DP-558 it works as intended. If you have Windows XP, 2000, or another player model and it don’t, please contact me. You can help me debug by un-commenting the two [debug] settings in the LlamaKISS.ini, do some test and e-mail me the files created.
So what does it cost? Nothing, it’s free software.
Features
- Streaming:
- Real-time browsing of available media files. No need to add every file/directory like PC-Link.
- Map multiple paths for each type of media. Virtual drives (DaemonTools), network shares, USB-sticks, floppy drives
:).
- Security:
- Allow/deny connections by IP address.
- Allow/deny media streaming by PlayerID.
- Filter media files by file-extension.
- Implementation:
- Very low memory and CPU usage, using overlapped IO (
IoCompletionPort) with worker threads and system cache manager calls (TransmitFile).
- Very low memory and CPU usage, using overlapped IO (
Installation
Download and un-zip the archive to wherever you want, preferably your Program Files directory. Edit the LlamaKISS.ini with Notepad, or alike, and add variables in the VIDEO, AUDIO and PICTURE sections to where your media is located. Run LlamaKISS.exe, use Ctrl-C to exit.
If you’re using a firewall make sure LlamaKISS.exe can accept incomming TCP connections and send/receive UPD packets on port 8000.
Changelog
- 2009-03-10 v1.1.0: It’s now possible to install and run in the background as a service!
- 2009-01-01 v1.0.11: Fixed a
GETcommand parse issue where DP-508 players sometimes don’t send PlayerID nor enclosing characters. - 2008-07-29 v1.0.10: Fixed a
ACTIONcommand issue, might fix issues with DP-1500. - 2008-05-31 v1.0.9: Fixed a
LISTcommand issue where some players models make the directory path locally and don’t use the absolute path sent. - 2008-05-30 v1.0.8: Fixed a
GETcommand parse issue where some player models (DP-600) don’t send PlayerID. This might fix a few issues where LlamaKISS refused to play media files. - 2008-04-03 v1.0.7: Multiple locations for each media type. Please replace your existing
LlamaKISS.ini. - 2008-03-01 v1.0.6: Additional settings to help with debugging. The release build is now compiled with Debugging Information so MiniDump’s can be used.
- 2008-03-01 v1.0.5: Minor fix.
- 2008-02-28 v1.0.4: New security setting to filter media by file extension. Re-write of the command parser, hopefully fixing issue where some only saw directories.
- 2007-12-31 v1.0.3: To get out of DLL-hell I’ve statically linked the CRT, not as easy as it sounds due to Visual Studio wierdness. File size increased due to that. I now know it should work on Windows XP. I’ve tested.
- 2007-12-20 v1.0.2: Changed to using
GetCurrentThreadIdinstead ofGetThreadId, which hopfully fixes Windows 2000 and XP issue. - 2007-12-07 v1.0.1: Changed from
SOCKADDRtoSOCKADDR_STORAGEstructures, hopefully fixing the bug wheregetpeernamecould fail. - 2007-11-20 v1.0.0: Initial public release.
Known Issues
- If your DP-508 player don’t accept
.srtsubtitle files, try renaming them to.utfand addutf=VIDEOto the[extensions]section of yourLlamaKISS.ini. - Some players (DP-1600?) can only see the directory structure not the media files. This might be that some players send diffrent command than my DP-558 thus LlamaKISS interpret them wrong.
- Some players (DP-558?) hang, requiring a reboot, after playing some movie files. I’ve noticed this a few times myself, cause yet unknown.
- Distorted picture the first second when playing a
VOBorTS. Not much can be done about this I think, it’s a player issue. - File not found: VIDEO\DIVX VIDEO\(movie name).avi. This might be caused by symbolic links (shortcuts), LlamaKISS does not follow ’em.
Most of there can probably be fixed quite easily with a little help from you. Enable CommandDumpFile=LlamaKISS.log in the [debug] section of the LlamaKISS.ini, try playing a movie then e-mail me the log-file created. The file contains all the commands sent from
your player to the server. With it I can see if the commands differ
from what my DP-558 sends and then change the interpretation in
LlamaKISS accordingly. If any of you have C/C++ experience and would
like to help out, I’ll happly publish/open source the code. I’ve open-sourced it, hosted at Google code.
To do
- Testing with more models of KISS hardware. I would appreciate your feedback.
- Playlist support.
- Maybe make it a Windows Service to run in the background. Done!
- Make a true Windows application with a nice GUI. For the configuration anyway, if the rest becomes a Windows Service.
- Support disc image (
.iso) playback. This really isn’t that important any longer since you can just map one of yourVIDEOlocation to a virtual drive (DaemonTools) and play theVOBorTSfiles directly. - Support FLAC playback. I’ve tried to implement this and concluded that it can’t be done without transcoding to
MP3orOGG. My DP-558 can’t playPCMsamples, neither inWAVnorASFcontainer. - Maybe integrate a KML server, if someone find it usefull.
- Any requests?
Download
Windows binary:LlamaKISS.zip (108 K)Source:hosted at Google code
Author
Henrik Lindqvist <henrik.lindqvist@llamalab.com>
Comments
-
88. by David Williams on
-
87. by Rob on
-
86. by teepean on
-
85. by teepean on
-
84. by Xander on
-
83. by TopOR on
-
82. by TopOR on
-
81. by Malwen on
-
80. by NoBy on
-
79. by dirk1969 on
-
78. by liza kiss on
-
77. by liza kiss on
-
76. by Marcel on
-
75. by Fran on
-
74. by Giorgio from Italy on
-
73. by barnesd1 on
-
72. by haby on
-
71. by andy on
-
70. by MikZ on
-
69. by MikZ on
-
68. by Moz on
-
67. by Dan on
-
66. by mplay on
-
65. by sigitm on
-
64. by zarra on
-
63. by Ernie on
-
62. by Henrik Lindqvist on
-
61. by timmo on
-
60. by Aladinsane on
-
59. by gerhard on
-
58. by Schooltje on
-
57. by schooltje on
-
56. by Viktor on
-
55. by Bjarke on
-
54. by teddor on
-
53. by Cyner on
-
52. by master on
-
51. by platoon on
-
50. by Andrew on
-
49. by testdummy on
-
48. by søren on
-
47. by Nebiros on
-
46. by Kim on
-
45. by schooltje on
-
44. by Nebiros on
-
43. by Henrik Lindqvist on
-
42. by nine on
-
41. by wisdenb on
-
40. by Happy man on
-
39. by Sergey on
-
38. by Henrik Lindqvist on
-
37. by kjartan Haavik on
-
36. by Mandrade on
-
35. by Øyvind on
-
34. by Joe on
-
33. by Emil on
-
32. by Kozze44 on
-
31. by Tiago on
-
30. by Pedro Tavares on
-
29. by harufu on
-
28. by kaak on
-
27. by Purdy on
-
26. by Purdy on
-
25. by Vanger on
-
24. by maverick1976 on
-
23. by maverick1976 on
-
22. by Henrik Lindqvist on
-
21. by Mark on
-
20. by Henrik Lindqvist on
-
19. by Henrik Lindqvist on
-
18. by Fred on
-
17. by Shwing on
-
16. by Henrik Lindqvist on
-
15. by cssmrsmith on
-
14. by Karstenp on
-
13. by Frank on
-
12. by Marc on
-
11. by Henrik Lindqvist on
-
10. by Nick on
-
9. by pctrasher on
-
8. by schooltje on
-
7. by Soren on
-
6. by Lincoln78 on
-
5. by Marocco on
-
4. by Marc on
-
3. by Marc on
-
2. by lincoln78 on
-
1. by johnart on