diff --git a/includes/media_youtube.formatters.inc b/includes/media_youtube.formatters.inc
index 0f81c38..840ec4a 100644
--- a/includes/media_youtube.formatters.inc
+++ b/includes/media_youtube.formatters.inc
@@ -16,7 +16,7 @@ function media_youtube_file_formatter_info() {
     'settings callback' => 'media_youtube_file_formatter_video_settings',
   );
 
-  foreach (array('width', 'height', 'autohide', 'autoplay', 'color', 'controls', 'enablejsapi', 'loop', 'modestbranding', 'nocookie', 'origin', 'rel', 'showinfo', 'theme') as $setting) {
+  foreach (array('width', 'height', 'autohide', 'autoplay', 'color', 'controls', 'enablejsapi', 'loop', 'modestbranding', 'nocookie', 'origin', 'rel', 'showinfo', 'theme', 'protocol-specified', 'protocol') as $setting) {
     $formatters['media_youtube_video']['default settings'][$setting] = media_youtube_variable_get($setting);
   }
 
@@ -45,7 +45,7 @@ function media_youtube_file_formatter_video_view($file, $display, $langcode) {
       '#options' => array(),
     );
 
-    foreach (array('width', 'height', 'autohide', 'autoplay', 'color', 'controls', 'enablejsapi', 'loop', 'modestbranding', 'nocookie', 'origin', 'rel', 'showinfo', 'theme') as $setting) {
+    foreach (array('width', 'height', 'autohide', 'autoplay', 'color', 'controls', 'enablejsapi', 'loop', 'modestbranding', 'nocookie', 'origin', 'rel', 'showinfo', 'theme', 'protocol-specified', 'protocol') as $setting) {
       $element['#options'][$setting] = isset($file->override[$setting]) ? $file->override[$setting] : $display['settings'][$setting];
     }
     return $element;
@@ -62,13 +62,13 @@ function media_youtube_file_formatter_video_settings($form, &$form_state, $setti
     '#title' => t('Width'),
     '#type' => 'textfield',
     '#default_value' => $settings['width'],
-    '#element_validate' => array('_youtube_validate_video_width_and_height'), 
+    '#element_validate' => array('_youtube_validate_video_width_and_height'),
   );
   $element['height'] = array(
     '#title' => t('Height'),
     '#type' => 'textfield',
     '#default_value' => $settings['height'],
-    '#element_validate' => array('_youtube_validate_video_width_and_height'), 
+    '#element_validate' => array('_youtube_validate_video_width_and_height'),
   );
 
   // @see https://developers.google.com/youtube/player_parameters#Parameters
@@ -160,9 +160,30 @@ function media_youtube_file_formatter_video_settings($form, &$form_state, $setti
         ':input[name="displays[media_youtube_video][settings][enablejsapi]"]' => array('checked' => FALSE),
       ),
     ),
-    '#element_validate' => array('_youtube_validate_jsapi_domain'), 
+    '#element_validate' => array('_youtube_validate_jsapi_domain'),
   );
-  
+  $element['protocol-specified'] = array(
+    '#title' => t('Specify the YouTube protocol for embeded videos.'),
+    '#type' => 'checkbox',
+    '#default_value' => $settings['protocol-specified'],
+    '#description' => t('It is only neccesary for RSS feeds and emails. If not checked the protocol will be relative.'),
+  );
+  $element['protocol'] = array(
+    '#title' => t('YouTube protocol'),
+    '#type' => 'select',
+    '#default_value' => $settings['protocol'],
+    '#options' => array(
+      'http' => t('HTTP'),
+      'https' => t('HTTPS'),
+    ),
+    '#states' => array(
+      'invisible' => array(
+        ':input[name="displays[media_youtube_video][settings][protocol-specified]"]' => array('checked' => FALSE),
+      ),
+    ),
+    '#description' => t('It is only neccesary to specify for Youtube videos embeded in RSS feeds and emails'),
+  );
+
   return $element;
 }
 
@@ -174,7 +195,7 @@ function _youtube_validate_video_width_and_height($element, &$form_state, $form)
   // Check if the value is a number with an optional decimal or percentage sign, or "auto".
   if (!empty($element['#value']) && !preg_match('/^(auto|([0-9]*(\.[0-9]+)?%?))$/', $element['#value'])) {
     form_error($element, t("The value entered for @dimension is invalid. Please insert a unitless integer for pixels, a percent, or \"auto\". Note that percent and auto may not function correctly depending on the browser and doctype.", array('@dimension' => $element['#title'])));
-  }  
+  }
 }
 
 /**
@@ -185,7 +206,7 @@ function _youtube_validate_jsapi_domain ($element, &$form_state, $form) {
   // Check if the value is a url with http/s and no trailing directories.
   if (!empty($element['#value']) && !preg_match('/^https?\:\/\/[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}){1,2}$/', $element['#value'])) {
     form_error($element, t('Please insert a valid domain in the format http://www.yourdomain.com'));
-  }  
+  }
 }
 
 /**
diff --git a/includes/media_youtube.variables.inc b/includes/media_youtube.variables.inc
index 30c628d..96b7c57 100644
--- a/includes/media_youtube.variables.inc
+++ b/includes/media_youtube.variables.inc
@@ -120,6 +120,8 @@ function media_youtube_variable_default($name = NULL) {
       'rel' => TRUE,
       'showinfo' => TRUE,
       'theme' => 'dark',
+      'protocol-specified' => FALSE,
+      'protocol' => 'http',
     );
   }
 
diff --git a/includes/themes/media_youtube.theme.inc b/includes/themes/media_youtube.theme.inc
index 5f80cb2..a745181 100644
--- a/includes/themes/media_youtube.theme.inc
+++ b/includes/themes/media_youtube.theme.inc
@@ -98,7 +98,8 @@ function media_youtube_preprocess_media_youtube_video(&$variables) {
   // Use https as default protocol instead of relative protocol to maintain
   // compatibility with content emails, rss, and https sites.
   // @see http://drupal.org/node/1368818
-  $variables['url'] = url('https://www.' . $url_base . '/embed/' . $variables['video_id'], array('query' => $query, 'external' => TRUE, 'https' => TRUE));
+  $protocol = $variables['options']['protocol-specified'] ? $variables['options']['protocol'] . ':' : '';
+  $variables['url'] = url($protocol . '//www.' . $url_base . '/embed/' . $variables['video_id'], array('query' => $query, 'external' => TRUE));
 }
 
 /**
