diff --git a/Dockerfile b/Dockerfile
index 48b4860cbb..adc8ffcea8 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -118,6 +118,9 @@ RUN a2enmod xsendfile rewrite expires headers ssl
# Install and upgrade youtube-dl using pip
RUN pip3 install youtube-dl --upgrade youtube-dl
+# Video Transcription for the SubtitleSwitcher Plugin
+RUN pip3 vosk
+
# Copy configuration files
COPY deploy/apache/avideo.conf /etc/apache2/sites-available/avideo.conf
COPY deploy/apache/localhost.conf /etc/apache2/sites-available/localhost.conf
diff --git a/deploy/apache/docker-entrypoint b/deploy/apache/docker-entrypoint
index 5a53b7a64f..48bc90c56f 100644
--- a/deploy/apache/docker-entrypoint
+++ b/deploy/apache/docker-entrypoint
@@ -136,6 +136,8 @@ cd /var/www/html/AVideo/install && php updatedb.php
echo "entrypoint -- Running reencodeAllVideos script..."
cd /var/www/html/AVideo/Encoder/install && php reencodeAllVideos.php
+echo '127.0.0.1 vlu.me' >> /etc/hosts
+
echo "entrypoint -- Starting cron service..."
cron
service cron start
diff --git a/objects/functions.php b/objects/functions.php
index 59cf4a9774..d785f4aae8 100644
--- a/objects/functions.php
+++ b/objects/functions.php
@@ -806,6 +806,9 @@ function sendEmailToSiteOwner($subject, $message) {
function parseVideos($videoString = null, $autoplay = 0, $loop = 0, $mute = 0, $showinfo = 0, $controls = 1, $time = 0, $objectFit = "") {
global $global;
+ if(!empty($videoString)){
+ $videoString = str_replace(array('&%3B'), array('&'), $videoString);
+ }
//_error_log("parseVideos: $videoString");
if (strpos($videoString, 'youtube.com/embed') !== false) {
return $videoString . (parse_url($videoString, PHP_URL_QUERY) ? '&' : '?') . 'modestbranding=1&showinfo='
diff --git a/view/videoEmbeded.php b/view/videoEmbeded.php
index 8a5ab83291..caf4655470 100644
--- a/view/videoEmbeded.php
+++ b/view/videoEmbeded.php
@@ -409,6 +409,7 @@ if (User::hasBlockedUser($video['users_id'])) {
} elseif ($video['type'] == "embed") {
$isVideoTypeEmbed = 1;
?>
+