[BUG] Image paths not ending with an extension make app fail to open
### System information

-   **OS Platform and Distribution (e.g., Linux Ubuntu 16.04)**: Linux
-   **FiftyOne installed from (pip or source)**: pip
-   **FiftyOne version (run `fiftyone --version`)**: 0.14.0
-   **Python version**: 3.8

### Describe the problem

If images in a dataset contain path which do not end with an extension e.g. `/path/to/image` instead of `/path/to/image.jpg`, when launching the fiftyone app, it does not load and shows a 500 error without any clear error message.

I can provide a piece of code to reproduce if really needed but I think my description is fairly straightforward.

### What areas of FiftyOne does this bug affect?

-   [x] `App`: FiftyOne application issue
-   [ ] `Core`: Core `fiftyone` Python library issue
-   [ ] `Server`: Fiftyone server issue

### Willingness to contribute

The FiftyOne Community encourages bug fix contributions. Would you or another
member of your organization be willing to contribute a fix for this bug to the
FiftyOne codebase?

-   [ ] Yes. I can contribute a fix for this bug independently.
-   [ ] Yes. I would be willing to contribute a fix for this bug with guidance
        from the FiftyOne community.
-   [x] No. I cannot contribute a bug fix at this time.
diff --git a/fiftyone/server/utils.py b/fiftyone/server/utils.py
index 85d453097..0925035da 100644
--- a/fiftyone/server/utils.py
+++ b/fiftyone/server/utils.py
@@ -127,7 +127,7 @@ def read_metadata(filepath, metadata=None):
         dict
     """
     mimetype, _ = mimetypes.guess_type(filepath)
-    if mimetype.startswith("video/"):
+    if mimetype and mimetype.startswith("video/"):
         if metadata:
             width = metadata.get("frame_width", None)
             height = metadata.get("frame_height", None)
['fiftyone/server/utils.py']