Thank you for purchasing our plugin. If you have any questions that are beyond the scope of this help file, please feel free to email via our email. Thanks so much!
BulletProof YouTube Videos is a breaking edge YouTube video backup plugin that is ideal for saving your (or other) YouTube videos to a cloud storage. It uses the YouTube native API to turn your website into a video backup machine!
The plugin can run on autopilot, and it will save videos to the following destinations (more will be added in future updates):
Google Drive
Dropbox
FTP
Use cases for the plugin:
Prevent Your YouTube Videos from Getting Removed (DMCA, Content ID, YouTube ToS Removal)
Backup Your Videos To a Cloud Storage
Backup other YouTube Videos to Your Own Storage
Make Recovering Deleted Videos Extremely Easy
You can search for videos to be backed up, based on a wide set of search parameters:
Predefined set of keywords
YouTube channels
YouTube users
YouTube playlists
Advanced search queries like video publish date, geo location, video format, video definition and more
This plugin needs a Google API Key for YouTube API for it's functionality and a Google OAuth Key and Secret for it's YouTube->Google Drive functionality. How to get one?
In order for you to get the YouTube feed working you need an API Key. Here is the process to obtain that.
After logging in go to this link https://console.developers.google.com/project and click on the blue CREATE PROJECT button as depicted in the photo below. Wait a moment as google prepares your project.
Fill in whatever Project Name you want.
Then click on the link option called 'YouTube Data API.' It's under YouTube API's. You can see it highlighted in the photo below, bottom right.
Now click on the 'ENABLE' button.
Next click on the blue 'Go to Credentials' button to the right.
Choose the select option YouTube Data API v3 for the first select option and Web server(e.g. node js. Tomcat) for the second selection. Then choose Public data. Now click the blue button, 'What credentials do I need?.'
Almost done, wait for google to create your new project and you should see the screen below where you can copy your API Key.
Fill in your project name . Optional: below ''Show advanced options' you can choose where the project will run. Either in the US or Europe
Click "Create". Google will now create your project this will take a minute.
In the left menu select 'APIs & auth' > 'Consent screen' The consent screen is the authentication prompt for the user when it wants to use your application.
Select for email address your developer account and fill in a product name. All other fields are optional.
Click "Save".
Select in the left menu 'APIs & auth' > 'APIs' Here you can add APIs to your project to access different google services.
Select or search for the 'Google Drive API'.
Click "Enable API",
Select in the left menu 'APIs & auth' > 'Credentials' Here you will create the authentication tokens for your application.
Click "Create new Client ID".
Select 'Web application'.
At 'Authorized JavaScript origins' fill in the host address of your web application. This can only be one URL, preferably your WordPress root URL.
At 'Authorized redirect URIs' fill in the URL path where you want to handle the authentication !!! this must be the address provided by the plugin (the plugin will tell you want to enter in this field - or the error message at authorization will).
Click "Create Client ID"
What happened now is that we create credentials for our application to access the API project and the plugin can post videos to YouTube in your name. With the Client ID and Client Secret your application can connect to your Google Project
Plugin requirements:
PHP 7.0 or higher
php CURL extension (install to Debian/Ubuntu etc with apt-get install php5-curl )
allow_url_fopen on
I also provided a Quick Install Guide to feature an easy plugin installation for everyone.
To make this plugin work, first, you'll need to install the plugin. The easiest method is to take the .zip file you've downloaded and upload it via Plugins > Add New > Upload Plugin in the WordPress Dashboard. Once the plugin is installed, be sure to Activate it.
Now that you've installed and activated the plugin, you'll see a new menu item created inside WordPress called 'BulletProof YouTube Videos'. First thing first, let's head over to Settings > BulletProof YouTube Videos and take a look at what options are available.
Refreshingly, BulletProof YouTube Videos has a super-simple settings screen. Let's look at first at the settings panel:
Here you can find the steps needed in configuring your plugin even if you have no HTML knowledge at all. You can find options for:
HINT! Don't forget to click the Save button every time you modified your settings, otherwise the modifications will be lost!
Main Settings:
BulletProof YouTube Videos Main Switch: Enable or disable the BulletProof YouTube Videos. This acts like a main switch.
YouTube API Key List: Insert your Youtube API Key. Learn how to get one here. This is used when posting from Youtube to WordPress.
Google Drive OAuth2 Key: Insert your Google Drive OAuth Key. Learn how to get one here.
Google Drive OAuth2 Secret: Insert your Google Drive OAuth Secret. Learn how to get one here.
Dropbox API Key: Insert your Dropbox OAuth2 Key. Learn how to get one here. This is used when uploading files from WordPress to Google Drive.
Dropbox API Secret: Insert your Dropbox OAuth2 Key. Learn how to get one here. This is used when uploading files from WordPress to Google Drive.
Enable Logging for Rules: Do you want to enable logging for rules?
Enable Detailed Logging for Rules: Do you want to enable detailed logging for rules? Note that this will dramatically increase the size of the log this plugin generates.
Automatically Clear Logs After: Choose if you want to automatically clear logs after a period of time.
Timeout for Rule Running (seconds): Set the timeout (in seconds) for every rule running. I recommend that you leave this field at it's default value (3600).
Delay Between Rule Running: Define a number of seconds the plugin should wait between the rule running. Use this to not decrease the use of your server's resources. Leave blank to disable.
Web Proxy Address: If you want to use a proxy to crawl webpages, input it's address here. Required format: IP Address/URL:port
Web Proxy Authentication: If you want to use a proxy to crawl webpages, and it requires authentication, input it's authentication details here. Required format: username:password
Backup to Google Drive:
ID This is the ID of the rule.
Keyword Search nput your queried keyword. Posts will be generated based on these keywords.
Source Language Select the language which you want to restrict search to.
Schedule (Hours) Select the interval in hours after which you want this rule to run.
Max Posts At A Time Select the maximum number of posts that this rule can create at once. 0-50 interval allowed..
Del: Do you want to delete this rule?
Active: Do you want to enable this rule? You can deactivate any rule (you don't have to delete them to deactivate them).
Info: The number of items (posts, pages) this rule has generated so far.
Actions: Do you want to run this rule now? Note that only one instance of a rule is allowed at once.
Advanced Plugin Settings Dropdown Screen:
Google Drive Settings:
Uploaded File Naming Format: Set the title of the generated posts for user rules. You can use the following shortcodes: %%random_sentence%%, %%random_sentence2%%, %%item_title%%, %%item_description%%, %%item_content%%, %%item_cat%%, %%item_tags%%
Generated Post Content: Set the naming format of the files that will be uploaded to Google Drive. You can use the following shortcodes: %%video_title%%, %%video_excerpt%%, %%video_url%%
Google Drive Directory: Select the folder name from Google Drive where to save the video files. If you leave this blank, the videos will be uploaded to the root folder of your Google Drive.
Transfer Chunk Size: This option is intended for advaced users only! Select the chunk size of the video uploads (this much bytes will be transfered in one transfer to Youtube, if video size is larger than this number, mutiple transfers will be executed). Minimum is 1024 bytes. The default value is 1048576 (1 Mb). Specify the size of each chunk of data, in bytes. Set a higher value for reliable connection as fewer chunks lead to faster uploads. Set a lower value for better recovery on less reliable connections.
Video Format To Upload: Select the video format to upload. If the video does not have a version in the format you selected, the next available format will be uploaded instead.
Google Drive Settings:
Remember Last Posted Item And Continue Search From It: Do you want to remember last posted item and continue search from it the next time the importing rule runs?
Source Channel ID: Select the channel ID from where you want to get your videos.
Source PlayList ID: Input a single unique playlist item ID to import videos from. You can get the playlist ID from the playlist URL. Example: https://www.youtube.com/playlist?list=PLEiGTaa0iBIi-LWwOcsZDnWZcG8FtuYGs - playlist ID is PLEiGTaa0iBIi-LWwOcsZDnWZcG8FtuYGs - Please note that if you set this search parameter, other search parameters, like the \'Keyword Search\' or \'Source Channel ID\' will not be available.
Search Videos Related To This Video ID: Input a video ID to search for related videos for it. Please note that if you set this search parameter, other search parameters, like the \'Keyword Search\' or \'Source Channel ID\' will not be available.
Published Before: This parameter indicates that the API response should only contain resources created at or before the specified time. Please insert a date value, in natural text format.
Published After: This parameter indicates that the API response should only contain resources created at or after the specified time. Please insert a date value, in natural text format.
Video Topic ID: The topicId parameter indicates that the API response should only contain resources associated with the specified topic. Supported topics are: /m/04rlf Music (parent topic) /m/02mscn Christian music /m/0ggq0m Classical music /m/01lyv Country /m/02lkt Electronic music /m/0glt670 Hip hop music /m/05rwpb Independent music /m/03_d0 Jazz /m/028sqc Music of Asia /m/0g293 Music of Latin America /m/064t9 Pop music /m/06cqb Reggae /m/06j6l Rhythm and blues /m/06by7 Rock music /m/0gywn Soul music /m/0bzvm2 Gaming (parent topic) /m/025zzc Action game /m/02ntfj Action-adventure game /m/0b1vjn Casual game /m/02hygl Music video game /m/04q1x3q Puzzle video game /m/01sjng Racing video game /m/0403l3g Role-playing video game /m/021bp2 Simulation video game /m/022dc6 Sports game /m/03hf_rm Strategy video game /m/06ntj Sports (parent topic) /m/0jm_ American football /m/018jz Baseball /m/018w8 Basketball /m/01cgz Boxing /m/09xp_ Cricket /m/02vx4 Football /m/037hz Golf /m/03tmr Ice hockey /m/01h7lh Mixed martial arts /m/0410tth Motorsport /m/07bs0 Tennis /m/07_53 Volleyball /m/02jjt Entertainment (parent topic) /m/09kqc Humor /m/02vxn Movies /m/05qjc Performing arts /m/066wd Professional wrestling /m/0f2f9 TV shows /m/019_rr Lifestyle (parent topic) /m/032tl Fashion /m/027x7n Fitness /m/02wbm Food /m/03glg Hobby /m/068hy Pets /m/041xxh Physical attractiveness [Beauty] /m/07c1v Technology /m/07bxq Tourism /m/07yv9 Vehicles /m/098wr Society (parent topic) /m/09s1f Business /m/0kt51 Health /m/01h6rj Military /m/05qt0 Politics /m/06bvp Religion /m/01k8wb Knowledge
Video Event Type: The event type parameter restricts a search to broadcast events.Acceptable values are: completed Only include completed broadcasts. live Only include active broadcasts. upcoming Only include upcoming broadcasts.
Video Source Location: Select the address from where the videos will be collected. In the first textfield, you can input a street address or a latitude, longitude pair (ex: '37.781157 -122.398720' or 'Oxford street, London'. In the second textfield, you can input a radius for this location, in miles or kilometers (ex: '1mi' or '3km')Returns videos by users located within a given radius of the given latitude/longitude. The location is preferentially taking from the Geotagging API, but will fall back to their YouTube profile. The parameter value is specified by latitude,longitude,radius, where radius units must be specified as either mi (miles) or km (kilometers). To disable this feature, leave both textfields blank.
Channel Type: Select the result type you want to get from the query. Valid types are: Show or Any.
Safe Search: The safeSearch parameter indicates whether the search results should include restricted content as well as standard content. Acceptable values are:moderate ' YouTube will filter some content from search results and, at the least, will filter content that is restricted in your locale. Based on their content, search results could be removed from search results or demoted in search results. This is the default parameter value.none ' YouTube will not filter the search result set.strict ' YouTube will try to exclude all restricted content from the search result set. Based on their content, search results could be removed from search results or demoted in search results.
Region Code: The Region Code parameter instructs the API to return search results for the specified country.
Video Caption: The videoCaption parameter indicates whether the API should filter video search results based on whether they have captions. Acceptable values are:any ' Do not filter results based on caption availability.closedCaption ' Only include videos that have captions.none ' Only include videos that do not have captions.
Video Definition: The videoDefinition parameter lets you restrict a search to only include either high definition (HD) or standard definition (SD) videos. HD videos are available for playback in at least 720p, though higher resolutions, like 1080p, might also be available.Acceptable values are:any ' Return all videos, regardless of their resolution.high ' Only retrieve HD videos.standard ' Only retrieve videos in standard definition.
Video Dimension: The videoDimension parameter lets you restrict a search to only retrieve 2D or 3D videos.Acceptable values are: 2d ' Restrict search results to exclude 3D videos.3d ' Restrict search results to only include 3D videos.any ' Include both 3D and non-3D videos in returned results. This is the default value.
Video License: The videoLicense parameter filters search results to only include videos with a particular license. YouTube lets video uploaders choose to attach either the Creative Commons license or the standard YouTube license to each of their videos.Acceptable values are:any ' Return all videos, regardless of which license they have, that match the query parameters.creativeCommon ' Only return videos that have a Creative Commons license. Users can reuse videos with this license in other videos that they create. Learn more.youtube ' Only return videos that have the standard YouTube license.
Video Duration: The videoDuration parameter filters video search results based on their duration.Acceptable values are:any ' Do not filter video search results based on their duration. This is the default value.long ' Only include videos longer than 20 minutes.medium ' Only include videos that are between four and 20 minutes long (inclusive).short ' Only include videos that are less than four minutes long.
Video Type: The videoType parameter lets you restrict a search to a particular type of videos.Acceptable values are:any ' Return all videos.episode ' Only retrieve episodes of shows.movie ' Only retrieve movies.
Video Syndication: The videoSyndicated parameter lets you to restrict a search to only videos that can be played outside youtube.com. Acceptable values are:any ' Return all videos, syndicated or not.true ' Only retrieve syndicated videos.
Search Order: The order parameter specifies the method that will be used to order resources in the API response. The default value is relevance.Acceptable values are:date ' Resources are sorted in reverse chronological order based on the date they were created.rating ' Resources are sorted from highest to lowest rating.relevance ' Resources are sorted based on their relevance to the search query. This is the default value for this parameter.title ' Resources are sorted alphabetically by title.videoCount ' Channels are sorted in descending order of their number of uploaded videos.viewCount ' Resources are sorted from highest to lowest number of views. For live broadcasts, videos are sorted by number of concurrent viewers while the broadcasts are ongoing.
Video Embeddable: The videoEmbeddable parameter lets you to restrict a search to only videos that can be embedded into a webpage. Acceptable values are:any ' Return all videos, embeddable or not.true ' Only retrieve embeddable videos.
Video Category: Select the YouTube video category in which you want to search in.
Skip Videos Older Than Date: Choose if you want to skip posts that are older than a selected date.
Select the Date for Old Posts: Select the date prior which you want to skip posts.
Short Rule Description: Input a short description for the current rule. This will appear in the help for for the current rule, next to rule's ID. This field is not used in plugin's activity and running.
Backup to Dropbox:
Uploaded File Naming Format: Set the naming format of the files that will be uploaded to Dropbox. You can use the following shortcodes: %%video_title%%, %%video_excerpt%%, %%video_url%%
Dropbox Directory: Select the folder name from Dropbox where to save the video files. If you leave this blank, the videos will be uploaded to the root folder of your Dropbox.
Transfer Chunk Size: This option is intended for advaced users only! Select the chunk size of the video uploads (this much bytes will be transfered in one transfer to Youtube, if video size is larger than this number, mutiple transfers will be executed). Minimum is 1024 bytes. The default value is 1048576 (1 Mb). Specify the size of each chunk of data, in bytes. Set a higher value for reliable connection as fewer chunks lead to faster uploads. Set a lower value for better recovery on less reliable connections.
Video Format To Upload: Select the video format to upload. If the video does not have a version in the format you selected, the next available format will be uploaded instead.
Backup to FTP:
Uploaded File Naming Format: Set the naming format of the files that will be uploaded to Dropbox. You can use the following shortcodes: %%video_title%%, %%video_excerpt%%, %%video_url%%
FTP Directory: Select the folder name from FTP where to save the video files. If you leave this blank, the videos will be uploaded to the root folder of your FTP. The plugin will create the directory you define here, if it is not already existing.
FTP Server Address: Select the folder name from FTP where to save the video files. If you leave this blank, the videos will be uploaded to the root folder of your FTP. The plugin will create the directory you define here, if it is not already existing.
FTP User Name: Input the user name of the FTP connection to use.
FTP Password: Input the password of the FTP connection to use.
Passive FTP Connection: Do you want to use a passive FTP connection?
Video Format To Upload: Select the video format to upload. If the video does not have a version in the format you selected, the next available format will be uploaded instead.
Activity and Loggind Screen:
Rules Currently Running: These rules are currently running on your server.
Restore Plugin Default Settings: Hit this button and the plugin settings will be restored to their default values. Warning! All settings will be lost!
Activity Log: This is the main log of your plugin. Here will be listed every single instance of the rules you run or are automatically run by schedule jobs (if you enable logging, in the plugin configuration).
How to customize resulting posts with built in shortcodes?
You can use the following shortcodes in post title and content editing:
BulletProof YouTube Videos is a simple, yet powerful tool you can use to create an autoblog with ease. The setup and settings of the plugin couldn't have been easier. Now, let's go and enjoy the results of this great plugin! Have fun using it!
Once again, thank you so much for purchasing this item. As I said at the beginning, I'd be glad to help you if you have any questions regarding this plugin and I'll do my best to assist.