Transfering large audio files with FTP

Mar 8th, 2010 by Mike Wells in Tutorials

A)  Introduction:

This document has been written to be a guideline for anyone who would like to transfer audio files over the internet using FTP.  The focus has been specifically directed to audio files, so that the audio engineering community (recording engineers, producers, musicians, recording and mastering studios) may supply a client with the needed FTP server information and this document, and the client may then perform the FTP transfer.

Further information about the history of FTP, task-specific FTP information, additional setup & configuration issues, etc… are covered at the end of this document in the Links section.

The outline of this document is as follows:

A)  Introduction
B)  What is FTP and why you need to know about it
C)  What you will need to use this tutorial
D)  General FTP Concepts
E)  Installing an FTP client application (PC & Mac)
F)  Setting-Up Your Connection (PC & Mac)
G)  Downloading Files (PC & Mac)
H)  Uploading Files (PC & Mac)
I)  Keeping Your Connection Alive: Using PING (PC & Mac)
J)  ASCII vs. Binary transfers (PC & Mac)
K)  Additional Resources / Program Links

B)  What is FTP and why you need to know about it:

Have you ever tried to email an audio file to someone, and you received an error saying “The file is too large, email rejected” or something similar?

Most email environments have limits on the types of files, and sizes of files, that are allowed to be transmitted.  Working in audio, these restrictions can make it seemingly impossible to send/receive/exchange full-bandwidth audio files (.WAV or .AIF) from studios to clients, from clients to studios, from producers to engineers, and on and on.

FTP solves these problems.

FTP stands for “File Transfer Protocol” and was designed to allow a person with proper account access the ability to transfer large files across the internet.  By using FTP with a broadband internet connection (Cable, DSL), you are able to share and collaborate on large-scale audio projects easily.

Lastly, while there are plenty of technologies that allow you to perform HTTP transfers (YouSendIt.com, etc), if you plan to be taken seriously in the audio engineering community this is a skill you need to have.   For example:  A senior engineer you’ve been wanting to work with enters a situation in which to work with you, and only works through FTP for exchanging files through his/her server (happens all the time), your default HTTP service is down, and you need to post a file to your web server for a client to grab (again, happens all the time), etc… the list goes on.

C)  What you will need to use this tutorial:

In order to use this document as a tutorial to perform an FTP transfer, you will need the following information:

FTP Client:
A software application that performs FTP is needed to transfer files from your computer to another computer on the internet (the “remote FTP server”), and vice-versa.  Throughout the rest of this document we will refer to the FTP software application as an “FTP Client”.  While there are many on the market, this document will use a free application that is available for many platforms including the PC and the Mac:  FileZilla

FTP Server address:
This is the address of the computer on the internet you want to connect to (the “remote FTP server” or “remote computer”).  While similar to a website address, the prefix is “ftp” instead of “http”.  Most of the FTP Clients on the market (including FileZilla, covered in this article) assume the prefix, and therefore you only need supply the remainder of the address.  Therefore, if your FTP server address is:

ftp://server.foo.net

Then it is “server.foo.net” you will enter into your FTP Client as the remote server address.

Username:
Along with the remote FTP Server address, you will need a username to log-into the remote FTP server.

Password:
Similar to website/email accounts, the FTP Username will also need a matching password.

Note about these 3 items:   To download remote files using FTP, you will need the FTP Server address, Username, and Password supplied to you by an administrator of the remote FTP server.  To allow someone else to download files from your FTP server, you must supply this information to them.

D)  General FTP Concepts

The File Transfer Protocol (FTP) is described by Wikipedia (http://en.wikipedia.org/wiki/FTP) as “a commonly used protocol (method) for exchanging files over any network that supports the TCP/IP (internet) protocol.  There are two computers involved in an FTP transfer:  a server and a client.  The FTP server, running FTP server software, listens on the network for connection requests from other computers.  The client computer, running FTP client software, initiates a connection to the server.  Once connected the client can do a number of file manipulation operations such as uploading files to the server, download files from the server, rename or delete files on the server and so on.”

With this, the basic goals of exchanging large audio files with studios, musicians, etc, is possible through FTP and a broadband connection.

ASCII vs. Binary transfers:
FTP is capable of transferring two different data types:  ASCII (Text format) and Binary (encapsulated data format).  Audio files are a Binary format (.wav, .aif, .mp3, .aac, etc…).
Most apps have an “Auto Detect” type of transfer method that usually works.  However if you find yourself in a jam, it’s good to know where this setting is an set it manually if you are having problems and need to troubleshoot/etc.

NOTE:  Configuring FTP Clients for Binary transfers is covered further in section J in this document.

E)  Installing an FTP client application

FileZilla is a free FTP client application that can be installed on a PC or a Macintosh.

Windows (XP, Vista, 7, etc):
1)  Download a copy of FileZilla to your computer from http://filezilla-project.org/download.php and double-click the installer file.
2)  Follow the remaining installation instructions to complete the install.
Further information:  http://forum.filezilla-project.org/

Macintosh (OSX, etc):
1)  Download a copy of FileZilla to your computer from http://filezilla-project.org/download.php and double-click the installer file.
2)  Follow the remaining installation instructions to complete the install.
Further information:  http://forum.filezilla-project.org/

F)  Setup Your Connection:

NOTE:  For the purposes of the tutorial the server/login settings will be:

Server Address:    ftp.server.com
Username:             user
Password:              Testing

1)  Launch the FileZilla application, the main FileZilla dialog will appear as follows:

2)  Enter your FTP Server Address into the “Host” field, the username goes into the “Username” field, and password goes into the “Password” field.

3)  Click the “Quickconnect” button to connect to the remote server.  The FileZilla dialog will update once you have successfully logged-into the remote server, and will look as follows:

G)  Downloading Files:

1)  Launch FileZilla, using the login information for your remote server, setup your connection and log in (See step F for more details).
2)  Using the view of your computer (left panes), navigate to a folder where you would like to download files to (where the files copied from the FTP server will be on your computer).
3)  Navigate through the “Folders” tree view (right panes) to find the folder containing the files you wish to download.
4)  Click on the folder containing the files you are looking for, then select the files in the file view.
5)  To download, Right-Click (PC) to invoke the context menu (Mac = “Option + Click”) and choose “Download”.

6)  While downloading, FileZilla will show you a status/progress bar. When the download is complete, FileZilla will show the completed download in the “Sucessful Transfers” tab.
7)  Once you have completed downloading files via FTP, go to the “Server” menu and choose “Disconnect”.

H)  Uploading Files:

Uploading files is the same process as Downloading, however this time you will be selecting files from the Middle-Left split/pane (your computer) to transfer to the Middle-Right split/pane (the remote computer).

1)  Launch FileZilla, using the login information for your remote server, setup your connection and log in.  (See step F for more details).
2)  Using the “Folder” tree view of the remote FTP Server (right panes), navigate to a folder where you would like to upload files to (where the files will end-up on the remote FTP Server, copied from your computer).
3)  Navigate through the “Folders” tree view (left panes) to find the folder containing the files you wish to upload.
4)  Click on the folder containing the files you are looking for, then select the files in the file view.
5)  To upload, Right-Click (PC) to invoke the context menu (Mac = “Option + Click”) and choose “Upload”.

6)  While uploading, FileZilla will show you a status/progress bar.  When the upload is complete, FileZilla will show the completed upload in the “Sucessful Transfers” tab.
7)  Once you have completed uploading files via FTP, go to the “Server” menu and choose “Disconnect”.

I)  Keeping your connection from breaking with the “keep-alive” setting

Depending on your service provider, it is possible for your connection to “time out” while you are transferring large data files (e.g. large audio files), leaving you with an unsuccessful download or upload.  Therefore, if you plan to upload/download large files overnight or while you are away from your computer, FileZilla provides a way to poll your remote server intermittently to keep your connection from timing-out.   FileZilla conveniently has this as a preference you can set and forget as follows:

With FileZilla running:

1)  Choose the “Edit” menu, then choose “Settings”
2)  Click on the “FTP” node under the “Connection” tree item, and you’ll notice an area called “FTP keep-alive” with a checkbox to set this command
3)  Check the “Send FTP keep-alive commands” checkbox so that it is checked, then click OK to save this preference

FileZilla is now setup to send the keep-alive commands in the background while you are transferring large files, so if you setup a large transfer to run overnight you can rest assured your files will be uploaded in the morning.

NOTE:  An additional nice feature of FileZilla is that it is set to re-establish a server connection even if it receives a hard closure from the remote computer.  I have found that usually this works, meaning:  You setup a large file to transfer overnight, in the morning you may find that while FileZilla shows the connection has been closed, the app did actually re-connect and flush/close the file upon completion of the transfer.  Nice.

J)  ASCII vs. Binary transfers:

FTP applications can distinguish between transfer types, depending on the type of file being transferred (uploaded/downloaded).  Text-type files are often transferred as ASCII type transfers, whereas data-type files (Audio files, etc…) should be transferred as Binary type transfers.

If you find that your upload/download procedure results in “corrupted” or “unreadable” files, it is possible that the transfer method was incorrect.

Setting the Default Transfer Type in FileZilla:

K)  Additional Resources / Program Links:

Application Links:

FileZilla (PC & Mac):  http://filezilla-project.org/

Additional Information:

Wikipedia / history of FTP:  http://en.wikipedia.org/wiki/File_Transfer_Protocol

No Comments