diff --git a/includes/Media23VideoInternetHandler.inc b/includes/Media23VideoInternetHandler.inc
index 1481cd1..87bf46b 100644
--- a/includes/Media23VideoInternetHandler.inc
+++ b/includes/Media23VideoInternetHandler.inc
@@ -120,6 +120,10 @@ class Media23VideoInternetHandler extends MediaInternetBaseHandler {
 
         if (empty($response->error)) {
           $data = drupal_json_decode($response->data);
+          if (isset($data['html']) && is_string($data['html'])) {
+            // Change url to protocol-relative to support HTTPS.
+            $data['html'] = str_replace('src="http://', 'src="//', $data['html']);
+          }
 
           cache_set($cache_key, $data);
 
diff --git a/includes/Media23VideoStreamWrapper.inc b/includes/Media23VideoStreamWrapper.inc
index 5d6f6e6..afa19e7 100644
--- a/includes/Media23VideoStreamWrapper.inc
+++ b/includes/Media23VideoStreamWrapper.inc
@@ -17,7 +17,7 @@ class Media23VideoStreamWrapper extends MediaReadOnlyStreamWrapper {
   public function interpolateUrl() {
     $parameters = $this->get_parameters();
 
-    return empty($parameters) ? '' : "http://{$parameters['s']}/v.ihtml?source=share&photo_id={$parameters['v']}&autoPlay=0";
+    return empty($parameters) ? '' : "//{$parameters['s']}/v.ihtml?source=share&photo_id={$parameters['v']}&autoPlay=0";
   }
 
   /**
