diff --git a/app/Entities/Media/BaseMedia.php b/app/Entities/Media/BaseMedia.php
index 6417095cce68e35398a17920e955b344ecba22fe..c348b250a7059bcc01d3ccc3e3688bf64faa9f9d 100644
--- a/app/Entities/Media/BaseMedia.php
+++ b/app/Entities/Media/BaseMedia.php
@@ -88,7 +88,7 @@ class BaseMedia extends Entity
 
         $this->attributes['type'] = $this->type;
         $this->attributes['file_mimetype'] = $file->getMimeType();
-        $this->attributes['file_metadata'] = json_encode(lstat((string) $file));
+        $this->attributes['file_metadata'] = json_encode(lstat((string) $file), JSON_INVALID_UTF8_IGNORE);
         $this->attributes['file_path'] = save_media(
             $file,
             $this->attributes['file_directory'],
diff --git a/app/Entities/Media/Image.php b/app/Entities/Media/Image.php
index 833670fec27578affc6d4c0894d28c782472b7c6..68b2d479096e07b19809249d3568772c809a4f26 100644
--- a/app/Entities/Media/Image.php
+++ b/app/Entities/Media/Image.php
@@ -61,7 +61,7 @@ class Image extends BaseMedia
             ];
         }
 
-        $this->attributes['file_metadata'] = json_encode($metadata);
+        $this->attributes['file_metadata'] = json_encode($metadata, JSON_INVALID_UTF8_IGNORE);
 
         $this->initFileProperties();
         $this->saveSizes();
diff --git a/app/Entities/Media/Transcript.php b/app/Entities/Media/Transcript.php
index 4221253cc835f0f490f5e58ad5eb363f20038428..8dc8ce12268bae2bc038dbbc822f7940d8bbb6d3 100644
--- a/app/Entities/Media/Transcript.php
+++ b/app/Entities/Media/Transcript.php
@@ -58,7 +58,7 @@ class Transcript extends BaseMedia
             $metadata['json_path'] = $jsonFilePath;
         }
 
-        $this->attributes['file_metadata'] = json_encode($metadata);
+        $this->attributes['file_metadata'] = json_encode($metadata, JSON_INVALID_UTF8_IGNORE);
 
         return $this;
     }
diff --git a/app/Libraries/TranscriptParser.php b/app/Libraries/TranscriptParser.php
index 8eaa1e8761564c9e6b4c69997f697986743f51a0..fe316b2136a534176e6cdfd58168d652761a2c05 100644
--- a/app/Libraries/TranscriptParser.php
+++ b/app/Libraries/TranscriptParser.php
@@ -30,10 +30,21 @@ class TranscriptParser
      */
     public function parseSrt(): string | false
     {
-        define('SRT_STATE_SUBNUMBER', 0);
-        define('SRT_STATE_TIME', 1);
-        define('SRT_STATE_TEXT', 2);
-        define('SRT_STATE_BLANK', 3);
+        if (! defined('SRT_STATE_SUBNUMBER')) {
+            define('SRT_STATE_SUBNUMBER', 0);
+        }
+
+        if (! defined('SRT_STATE_TIME')) {
+            define('SRT_STATE_TIME', 1);
+        }
+
+        if (! defined('SRT_STATE_TEXT')) {
+            define('SRT_STATE_TEXT', 2);
+        }
+
+        if (! defined('SRT_STATE_BLANK')) {
+            define('SRT_STATE_BLANK', 3);
+        }
 
         $subs = [];
         $state = SRT_STATE_SUBNUMBER;