YouTube-to-Mp3 Converter :: PHP Script Documentation v1.0
YouTube-to-Mp3 Converter :: PHP Script
Thank you for purchasing my software. If you have any questions that are beyond the scope of this help file, please feel free to email me. Thanks so much, and enjoy!
Table of Contents
- Server Requirements
- Server Configuration
- Software Installation
- Support Options
- Extended License
A) Features - top
This software does the following for you:
- Converts YouTube, Dailymotion, Vimeo, Facebook, Metacafe, VK, SoundCloud, Instagram, AOL, RedTube, XVideos, Pornhub, Vevo, Google Drive, and Twitter content (15 of the most popular video/audio hosting sites in the world)
- Outputs converted files to mp3, aac, m4a, mp4, webm, f4v, and/or 3gp formats
- Enables volume adjustment prior to conversion via jQuery slider control
- Displays download AND conversion progress via corresponding progress bars
- Leverages the power of FFmpeg (http://ffmpeg.org/) to create crisp, clean, quality conversions of audio/video files.
- Reduces server load by skipping FFmpeg conversion for video/audio file types (i.e., mp4 or mp3) that are already available from the video/audio hosting sites
- Further reduces server load by providing users with a conversion "cancel" button that aborts ongoing conversions and subsequently kills unnecessary FFmpeg processes
- Minimizes bandwidth required for YouTube video conversion to audio formats (like mp3, aac, and m4a) by directly downloading audio from YouTube if it is available!
- Provides options to cache converted files, drastically and even further reducing the consumption of server resources (primarily CPU and bandwidth).
- Includes a tool that crops converted audio AND video files (with live preview of converted media during cropping process!)
- Provides an editor for converted mp3/aac/m4a file meta data (ID3 tags), to control track information displayed on some audio players.
- Automatically adds (album) cover art to MP3 files following post-conversion file cropping and/or editing.
- Integrates Dropbox and OneDrive "Saver" buttons that enable converted files to be saved to site users' accounts in the "cloud" -- in addition to regular file download.
- Features a completely "responsive" default design (leveraging the Bootstrap framework) to provide optimal viewing for ALL device types and sizes!
- Enables multi-language support via a corresponding drop down menu and XML translation files
- Dynamically changes HTML title and meta tag content to reflect information about the currently converting video/audio (i.e., the song title)
- Allows a user to share a "direct-to-conversion" URL and post it on a variety of social networking sites following download/conversion, so that the user's friends can automatically download/convert the same video/audio by simply clicking on the posted link! This feature is triggered when the user clicks to download his/her converted file, and the frequency that the share option appears is adjustable.
- Enables the easy integration of "interstitial" ads (like adf.ly) to generate additional website income! When this feature is activated and a user clicks to download his/her converted file, an interstitial ad opens in a new browser tab where the user is prompted to download the file after a brief waiting period.
- Provides the ability to easily incorporate static pages (i.e., About, FAQ, and Contact pages) as well as rudimentary "templating" support for (primarily) static pages via common header/footer files
- Initiates conversions via form submission (POST request) as well as URL query string (GET request)
- Automatically updates the code required to decipher changing, encrypted, YouTube video signatures
- Optionally rotates between multiple outgoing IPs for YouTube downloads/conversions to avoid temporary IP bans and/or CAPTCHAs imposed by YouTube.
- Validates video/audio URLs prior to conversion
- Facilitates the addition of more video hosting sites as well as converted file types (by editing the code)
- Expanded Config file for a more customizable interface (i.e., easy access to FFmpeg commands for different converted file types and the ability to configure default video/audio qualities, default volume, and maximum allowed length of video/audio content)
- Secures access to the server so that FFmpeg commands can only be run if a unique token is present
- Includes script that can be run as a scheduled task on the server, that regularly deletes old converted files
- Comes with a "config check" utility that facilitates software installation and helps resolve server configuration issues
- Features a simple, one-click installation of both FFmpeg and cURL on Linux (via the included "config check" utility)!
B) Server Requirements - top
This software requires the following:
- Linux, Windows, or XAMPP/WAMP server
- For commercial servers: Shared, Dedicated, and VPS hosting supported
- Apache or IIS
- PHP 5.3+
- cURL and PHP cURL extension enabled
- ffmpeg.exe (executable file, provided in Win32 distribution of this software!) for Windows & XAMPP/WAMP; FFmpeg and codecs packages (libvorbis, libvpx, libmp3lame, libx264, and/or aac codecs) installed on Linux
- MySQL, PHP MySQLi extension enabled, and additional IPs configured as outgoing network interfaces (only required IF using IP rotation feature)
- id3.exe (executable file, provided in Win32 distribution of this software!) for Windows & XAMPP/WAMP; 'id3v2' package installed on Linux
- That's it!
C) Server Configuration - top
Need help setting up the server?:
- When in doubt, have a pro admin or hosting provider install the required dependency packages for you. Alternatively, we can also perform the server setup for an additional cost.
- For the "Do-It-Yourselfers", general command-line instructions (for installing ALL required software dependencies) are available for the following, popular Linux distributions:
- Ubuntu 12.04
- Debian 7
- CentOS 6.x
- If you want a precompiled version of FFmpeg + codecs for your Linux server, then you can perform a simple, one-click installation of both via the software's opening "config check" utility.
- Recent, static (i.e., precompiled) builds of FFmpeg for Linux (kernels 2.6.32+) are available for download via the FFmpeg.org website.
- A compilation guide for FFmpeg + codecs, catering to an array of Linux distributions, is also available on the FFmpeg.org wiki site.
- Finally, you can check out a 3-part video tutorial series illustrating one approach to an Ubuntu 12.04 server configuration.
D) Software Installation - top
To install the software:
- Unpack/Unzip the distribution file and upload the contents to a new directory on your web server via FTP
- On Linux systems, this directory should be set to chmod 0755 permissions or lower
- On Linux systems, review the test results in the opening "config check" utility and correct any errors per the corresponding, provided instructions
- Ensure that the 'store' folder (in your new directory) has write permissions
- On Linux systems, this means setting folder permissions to chmod 0777
- Set the location of FFmpeg in Config.class.php via the _FFMPEG constant
- On Windows systems, this is something like '/YourDirectory/ffmpeg.exe'
- On Linux, this will usually be '/usr/bin/ffmpeg' or '/usr/local/bin/ffmpeg'. However, if you've performed a one-click installation via the software's "config check" utility, then this will generally be something like '/var/www/html/store/bin/ffmpeg'
- Configure additional constants/variables in Config.class.php as needed
- Set up schedule.php as a scheduled task (or cron job on Linux systems) if you require old, converted files to be deleted on a regular basis
- The age of files marked for deletion is configurable via the _MAX_AGE_FILES constant value in Config.class.php
- It is recommended that the scheduled task run daily (at least)
- IF you want to rotate outgoing IPs for YouTube downloads/conversions:
- Set the corresponding constant values in Config.class.php
- Configure additional IPs as outgoing network interfaces
- Use the SQL in 'docs/ips.sql' to build the required database table
- Navigate to index.php of your new directory, and start converting videos!
E) Support Options - top
Stuff you might like to know about software suport:
- 100% Free support for life!
- Ask me a question, and I'll answer it!
- Working directly on your server is not free.
- Regular updates/fixes to the software are FREE!
- See The Official FAQ for ways to troubleshoot common issues.
- Human support for this script is provided via:
F) Extended License - top
If you plan to load this software on multiple websites and/or repackage all or some of the software code in your own application that is redistributed and/or sold for profit, then you MUST buy an extended license. An extended license costs $299.50 (the cost of 10 individual licenses). There are no exceptions to this rule, and violators will be prosecuted. Please contact me at firstname.lastname@example.org to arrange the purchase of an extended license.
Once again, thank you so much for purchasing my software. As I said at the beginning, I'd be glad to help if you have any additional questions or concerns. In that case, please email me at:
Go To Table of Contents