FTP
If you have media-files on a computer and you want to share them to an XBMC device, an FTP server is one option you can use.
By default XBMC (namely XBMCbuntu) does not have any FTP server software installed, that does not mean you cannot add a FTP server to the installation and use it. Here we defer to vsftpd as a example.
To accomplish this your XBMC device and FTP server must be able to reach each other through your network (firewall!)
Other Protocols
Install vsftpd server in Ubuntu and derivatives
Connect to via:
- username: xbmc
- password: password_you_used_during _install
- port: 21
- IP: Your Machine IP. e.g. 192.168.1.254
sudo apt-get install vsftpd -y
This is a quick script to configure vsftpd to accept connections as above with passive and FXP connections enabled.
The script may not work for all cases bare in mind the FTPS settings if you wish to enable SSL which are no present below.
- see also: How-to Easy FTP with vsftpd
#!/bin/bash #Setup vsftpd.conf #You may use default configuration if you choose. echo 'Setting up vsftpd' cp /etc/vsftpd.conf /etc/vsftpd.conf-backup; rm -f /etc/vsftpd.conf; touch /etc/vsftpd.conf echo 'listen=YES' >> /etc/vsftpd.conf echo 'pasv_min_port=49152' >> /etc/vsftpd.conf echo 'pasv_max_port=65535' >> /etc/vsftpd.conf echo 'pasv_promiscuous=YES' >> /etc/vsftpd.conf echo 'local_max_rate=0' >> /etc/vsftpd.conf echo 'local_enable=YES' >> /etc/vsftpd.conf echo 'write_enable=YES' >> /etc/vsftpd.conf echo 'local_umask=077' >> /etc/vsftpd.conf echo 'dirmessage_enable=YES' >> /etc/vsftpd.conf echo 'use_localtime=YES' >> /etc/vsftpd.conf echo 'xferlog_enable=YES' >> /etc/vsftpd.conf echo 'connect_from_port_20=YES' >> /etc/vsftpd.conf echo 'port_enable=NO' >> /etc/vsftpd.conf echo 'chown_uploads=YES' >> /etc/vsftpd.conf echo 'chown_username=xbmc' >> /etc/vsftpd.conf echo 'ftpd_banner=Welcome to XBMC FTP Server' >> /etc/vsftpd.conf echo 'chroot_local_user=NO' >> /etc/vsftpd.conf echo 'secure_chroot_dir=/var/run/vsftpd/empty' >> /etc/vsftpd.conf echo 'pam_service_name=vsftpd' >> /etc/vsftpd.conf echo 'rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem' >> /etc/vsftpd.conf echo 'async_abor_enable=YES' >> /etc/vsftpd.conf echo 'anon_mkdir_write_enable=NO' >> /etc/vsftpd.conf echo 'anon_other_write_enable=NO' >> /etc/vsftpd.conf echo 'force_dot_files=YES' >> /etc/vsftpd.conf echo 'tcp_wrappers=YES' >> /etc/vsftpd.conf mkdir /home/vsftpd touch /home/vsftpd/xferlog.log touch /home/vsftpd/vsftpd.log echo 'xferlog_file=/home/vsftpd/xferlog.log' >> /etc/vsftpd.conf echo 'vsftpd_log_file=/home/vsftpd/vsftpd.log' >> /etc/vsftpd.conf echo 'Setting up vsftpd, complete!' restart vsftpd
Note: chmod script 755 and run with sudo ./nameofscript
Alternatively on a Linux distribution you can install the preferred FTP server for that distribution.
Adding a FTP Server in ATV 1/2/3
There are guides on how-to install and enable FTP server on your ATV.
- see also: Enable FTP Server on ATV
FTP server in OS X
On a Mac (OS 10.6 and below) go to system preferences, then sharing, and then click the check box next to file sharing, this will start local file sharing on your machine. Click the 'Options' Button to share files and folders using FTP/SMB/AFP, etc. Choose your folders and you are good to go.
OS X Lion seemingly has disabled FTP server, you can still enable it with the command line.
To start it type the Terminal command:
sudo -s launchctl load -w /System/Library/LaunchDaemons/ftp.plist
To stop it:
sudo -s launchctl unload -w /System/Library/LaunchDaemons/ftp.plist
To enable ftpd on Lion to survive reboots you will need to edit /System/Library/LaunchDaemons/ftp.plist by looking for the lines
Disabled
and changing them to
Enabled
Adding a FTP server in Windows
On a Windows PC you can use a FTP server like e.g. FileZilla Server.
- see also: Build a home ftp server with filezilla
Adding FTP as a source in XBMC
On the XBMC device use Add Source, select FTP, fill in the credentials and your XBMC device will be able to connect to that FTP server and play files more or less like if the files were local.
- Add Videos
- Browse
- Add network location
- Select FTP from the protocol menu
- Complete other fields as required
FTP Source Example (source.xml):
<video> <source> <name>Remote FTP Videos</name> <path>ftp://username:[email protected]/share/videos/</path> </source> </video>
Keep in mind though, FTP is not made for streaming content, it will act a little different sometimes.