Knots2
Knots is a feature rich GPLv2 Video Streaming Application for Windows, Mac OS X Leopard, Linux and FreeBSD by Janne Mäkinen. Knots consists of a server, written in Ruby, and client, written in Vala. The server can be configured to stream video files (any format/codec supported by VLC), DVB-broadcasts, custom playlists or any other media to a Knots client on a N8x0 or to any other computer, via the Knots' Web-frontend.
Non-tableteers can access the Knots Web-frontend from any platform / location (including Windows). Firefox & Adobe's Flash Plugin 10 are suggested and work best. Knots will automatically transcode all streams to flv, so they can be watched directly in the browser. It is also possible to view videos without transcoding, using the VLC browser plugin.
Contents |
Features
- Fully thumb driven intuitive GUI for the Nokia N8x0 tablets
- Stream videos with on-the-fly transcoding to a Knots client or to a remote computer via the web-frontend. Seeking is supported when possible.
- Stream VDR Live-TV and recordings
- Playlist support (WorldTV99, etc.)
- Automatic subtitle fetching for movies, provided by http://www.opensubtitles.org
- Automatic thumbnails for local clips using ffmpeg
- Integrated search function
- Additional info for movies, provided by http://themoviedb.org
Installation
To get Knots running, some dependencies have to be met. After that, the server package and the tablet client must be installed. The following steps will guide you in those tasks.
Dependencies
Knots server uses VLC for streaming and FFmpeg for encoding. The following steps explain how to setup those dependencies.
Linux
This instructions are for Ubuntu Karmic Koala (9.10) 32 and 64 bit. Other Debian derivates might use slightly different package names, but the general concept of the install is the same for all distros.
apt-get install ruby1.8 ruby rubygems libsqlite3-ruby libopenssl-ruby vlc ffmpeg
- Add the Medibuntu repository (for ffmpeg), reload your Package information, update your system and open a root terminal (sudo -s), and:
apt-get install libavcodec-unstripped-52 libavdevice-unstripped-52 libavfilter-unstripped-0 libavformat-unstripped-52 libavutil-unstripped-49 libpostproc-unstripped-51 libswscale-unstripped-0 ubuntu-restricted-extras
To get the best result, ubuntu users should compile ffmpeg themselves. Here and here are good guides, you only need to copy-paste few lines.
OS X
Install latest VLC and ffmpegX to /Applications.
Windows
Download and install latest VLC. For easy setup, install it under C:\Program Files, otherwise you will need to edit the path in server settings.
Server
Linux / FreeBSD / OS X
- nix compatible OS users can get the latest client and server with git:
git clone git://github.com/solmis/knots.git
Then start the server with
cd knots ./knots.rb
OS X users can create a standalone app too:
./install/create_osx_app
knots2 application should appear in your home folder. You can move to that to /Applications. After running the application an icon appears in the dock which then disappears, but knots should be running.
Windows
Install Git for Windows from here. Select the defaults if you don't know what the options mean. Once it's installed, open cmd.exe and run these commands:
cd c:\ git clone git://github.com/solmis/knots.git
Then download the server package from here. Unzip it somewhere (not c:\) and copy the ruby folder and run.cmd to c:\knots. Then copy win32/sqlite3.dll to Windows\System32 with administrator rights. If you accidentaly skip this step and get the error about missing sqlite3.dll, delete the .config folder inside knots folder or the needed programs are not automatically scanned. Double click on run.cmd to start the server. Be sure to close the window with ctrl-c, otherwise VLC is left running.
Setup
Just point your browser to http://localhost:1978 and add your media under settings. If you don't see the Update collection button, please make sure that both ffmpeg and VLC paths are correct.
Client
Knots2 N8x0 Client is available from the extras-repository for OS2008 (Diablo).
The Client for the N900 (Fremantle) is still in alpha state and not ready for prime-time yet. Although advantageous people can have a peek in the current develpoment state by enabling extras-devel repository and pull the client from there.
NOTE: Please bear in mind that the N900 client is still unfinished. You might come across bugs and other strange behavior (like quickly draining battery ect.) since mplayer currently can't utilize the full potential of the N900's hardware. If you are not willing to deal with those limitations you should NOT use the Knots2 Client on your shiny new device yet.
3G streaming with N900
You can stream videos and music from outside your home network, but make sure you make the server more secure. Check Can I use the server to view stuff from the internet? under Questions & Answers on how to enable SSL and basic auth for the server. For the client you need a custom libsoup2.4 library, because SSL is not supported by libsoup by default on Maemo platform. We take no responsibility if it messes up other applications using this library. Then install the latest client and rootsh from extras(-devel) repositories. Open terminal and run these commands:
root apt-get install wget wget "http://nakkiboso.com/libsoup2.4-1_2.24.3-2maemo2+0m5_armel.deb" dpkg -i libsoup2.4-1_2.24.3-2maemo2+0m5_armel.deb apt-get -f install rm libsoup2.4-1_2.24.3-2maemo2+0m5_armel.deb
and if you don't need wget for anything:
apt-get remove wget
Knots doesn't have a 3G profile currently, because the perfect quality depends on so many things, but you can create a copy of some profile and tune it suit your network.
Screenshots
Questions & Answers
Windows
- I get no screenshots, even when i click on Grab screenshot button.
- Make sure knots' path doesn't contain spaces or weird characters. Will try to fix this issue later.
- I want to run knots as a windows service.
- Follow these steps.
Linux
- I can't view any videos.
- Did you install the -unstripped packages of the FFmpeg libs? FFmpeg in Linux is a problem because all the license issues etc. so if your distro doesn't provide unrestricted builds you need to compile your own FFmpeg with at least libmp3lame and xvid support. Run ./scripts/vlctest to check what is wrong with your VLC/FFmpeg combo.
OS X
- Seeking freezes the video for a while and then stops it.
- This is a VLC issue. It seems to have problems with certain codecs, mainly xvid/divx. Try updating VLC from time to time and see if it that helps. Or better yet, issue a bug report.
Server
- Page content doesn't seem to update.
- That's because all tabs keep their state. Double click on the tab to force a refresh.
- I don't see the Update collection -button under settings.
- Make sure both VLC and FFmpeg have correct paths.
- Certain videos only have sound.
- Go to settings, edit the n8x0 transcoding profile and add a value 24 to fps and save. Try playing the video again.
- Lyrics don't work.
- Lyrics-site seems to be down from time to time, try leaving it alone for few days and try again.
- Can I use VLC browser plugin to view the video without transcoding?
- Sure. Edit the passthrough profile and add a value vlc to embed and save. VLC plugin doesn't seem to close properly though, so you may need to restart the browser to kill it.
- I downloaded a video from Youtube. It plays in the browser, but the sound is funny.
- You need to use 22050 audio rate. Edit the profile you are using or create a new one for it.
- I want to use VDR / MythTV but can't find a setting for them.
- Stop the server, run "./install/vdr" or "./install/mythtv" and answer the questions. Double click on Settings tab and you should see a button that updates them. If your VDR has several channels, be sure to change Capture screenshots for external urls to 0 before scanning them. Then change it back to 1 and use the Edit button to grab only the screenshots you want.
- How can I make the server output some debugging messages to the terminal?
- Stop the server, run "./scripts/setup devel 1 Developer" and restart the server.
- Can I use the server to view stuff from the internet?
- Yes, just enable SSL and add an admin user account. You need to open/forward the port you are using and then 19780 for the actual http-stream (and +1 for each additional streams).
- I get black borders around the video on the N8x0 client. How can I force it to fullscreen?
- Knots tries to maintain the original aspect ratio of the source material. To override this, stop the server and run
./scripts/setup disable_aspect 1 "Disable video aspect"
- or add it with a browser using Add new setting -button. Adding this setting may also create less artifacts in the video.
Client
- How come the video plays fine with the client, but not when moved to the device?
- Knots transcodes everything to a format your tablet supports. If your VLC can play it on your desktop, chances are your tablet then plays it as well.
- My Client does not have icons as shown in the screenshots above. How do I add them?
- The icons shown in the screenshots can be downloaded here. Assign them in the web-frontend to the Main Categories (Video, Music, Television) on the "Edit Media" Tab. Icons for Virtual Categories (Latest, Unviewed, Unwatched) can be assigned on the "Settings" tab.
- I see no rotation menu item.
- Please see Rotation
- I'm using Mer and I want to use Knots as a music player, but I can't connect to server.
- That's because Mer has no support for libconic. Restart the client after running this command in terminal:
gconftool-2 -s /apps/knots/ignore_conic true -t string
Media
- Some of my audio/video files aren't scanned.
- You can add the the missing file extensions under settings and do a rescan. To keep the dependencies low, I only support mp3-tags out of the box. But it doesn't mean other audio formats won't work, they just don't get tagged properly.
- I have a folder with recorded tv-series and I want to move them all to Series category. How do I do that?
- Go to Edit media, limit search results to - to list them all and use the path as a search criteria. Once they are listed, click on Select all, add a category or select the one you want to move them to, select Set category action and press Apply to selected. All selected videos are then moved to that category. Same idea works with all the actions.
- My mp3-tags are messed up and I have the same album with 3 different names. Can i easily fix that?
- Sure. Just go to Edit media, select the album tag, then select the wrong value and rename it to the correct one. All the songs that are in that album are moved to the correct album. Do it for all the wrong names and all the songs should be in the same album.
- Can I play DVDs with Knots?.
- Possibly. Go to settings and click on Add a new setting. Name it DVD Drive, key is dvd_drive and value is a path to your CD-ROM drive. In Windows this is possibly D:\, in Linux /media/dvd and in OS X it's /Volumes. Insert the DVD in drive and select Go to root from the client menu. You should see the name of the DVD. Make sure the DVD is recognized before trying to update the page or it may not be properly scanned.
Bugs
If you come across bugs report them at the Knots bugtracker. Please attach the necessary information (used Operating System, Tablet Revision, terminal output) and clear steps to reproduce the malfunction.
Contact
Please join our IRC channel #knots at Freenode or email janne dot makinen at surffi dot fi
Donate
Knots 2 is free software, but if you feel like donating, you can donate via Paypal.