The MIME type is 'video/mp4'. This file type is not currently supported in unstructured.
Labels: name: area: doc loader, name: auto:improvement

### System Info

Langchain version : 0.0.292
Python version: 3.9.13
Platform: Apple M1, Sonoma 14.0

### Who can help?

@eyurtsev @hwc

### Information

- [x] The official example notebooks/scripts
- [X] My own modified scripts

### Related Components

- [ ] LLMs/Chat Models
- [ ] Embedding Models
- [ ] Prompts / Prompt Templates / Prompt Selectors
- [ ] Output Parsers
- [X] Document Loaders
- [ ] Vector Stores / Retrievers
- [ ] Memory
- [ ] Agents / Agent Executors
- [ ] Tools / Toolkits
- [ ] Chains
- [ ] Callbacks/Tracing
- [ ] Async

### Reproduction

Steps to reproduce:

1. Have a google drive folder with multiple documents with formats like`.mp4`, `.md`, `google docs`, `google sheets` etc.
2. Try using `from langchain.document_loaders import GoogleDriveLoader`, it doesn't work as it only supports google docs, google sheets and pdf files.
```
folder_id = "0ABqitCqK0S_MUk9PVA"  # have your own folder id, this is an example
loader = GoogleDriveLoader(
    gdrive_api_file=GOOGLE_ACCOUNT_FILE,
    folder_id= folder_id,
    recursive=True,
#     num_results=2,  # Maximum number of file to load
)
```
3. Try using `from langchain.document_loaders import UnstructuredFileIOLoader` to load 
```
folder_id = "0ABqitCqK0S_MUk9PVA"  # have your own folder id, this is an example
loader = GoogleDriveLoader(
    service_account_key=GOOGLE_ACCOUNT_FILE,
    folder_id=folder_id,
    file_loader_cls=UnstructuredFileIOLoader,
    file_loader_kwargs={"mode": "elements"},
    recursive=True
)
```
4. It throws the following error because `.mp4` files are not supported

`The MIME type is 'video/mp4'. This file type is not currently supported in unstructured.
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
Input In [34], in <cell line: 3>()
      1 start_time = time.time()
----> 3 docs = loader.load()
      5 print("Total docs loaded", len(docs))
      7 end_time = time.time() - start_time

File /opt/homebrew/Caskroom/miniforge/base/envs/py39/lib/python3.9/site-packages/langchain/document_loaders/googledrive.py:351, in GoogleDriveLoader.load(self)
    349 """Load documents."""
    350 if self.folder_id:
--> 351     return self._load_documents_from_folder(
    352         self.folder_id, file_types=self.file_types
    353     )
    354 elif self.document_ids:
    355     return self._load_documents_from_ids()

File /opt/homebrew/Caskroom/miniforge/base/envs/py39/lib/python3.9/site-packages/langchain/document_loaders/googledrive.py:257, in GoogleDriveLoader._load_documents_from_folder(self, folder_id, file_types)
    252     returns.extend(self._load_sheet_from_id(file["id"]))  # type: ignore
    253 elif (
    254     file["mimeType"] == "application/pdf"
    255     or self.file_loader_cls is not None
    256 ):
--> 257     returns.extend(self._load_file_from_id(file["id"]))  # type: ignore
    258 else:
    259     pass

File /opt/homebrew/Caskroom/miniforge/base/envs/py39/lib/python3.9/site-packages/langchain/document_loaders/googledrive.py:316, in GoogleDriveLoader._load_file_from_id(self, id)
    314 fh.seek(0)
    315 loader = self.file_loader_cls(file=fh, **self.file_loader_kwargs)
--> 316 docs = loader.load()
    317 for doc in docs:
    318     doc.metadata["source"] = f"https://drive.google.com/file/d/{id}/view"

File /opt/homebrew/Caskroom/miniforge/base/envs/py39/lib/python3.9/site-packages/langchain/document_loaders/unstructured.py:86, in UnstructuredBaseLoader.load(self)
     84 def load(self) -> List[Document]:
     85     """Load file."""
---> 86     elements = self._get_elements()
     87     self._post_process_elements(elements)
     88     if self.mode == "elements":

File /opt/homebrew/Caskroom/miniforge/base/envs/py39/lib/python3.9/site-packages/langchain/document_loaders/unstructured.py:319, in UnstructuredFileIOLoader._get_elements(self)
    316 def _get_elements(self) -> List:
    317     from unstructured.partition.auto import partition
--> 319     return partition(file=self.file, **self.unstructured_kwargs)

File /opt/homebrew/Caskroom/miniforge/base/envs/py39/lib/python3.9/site-packages/unstructured/partition/auto.py:183, in partition(filename, content_type, file, file_filename, url, include_page_breaks, strategy, encoding, paragraph_grouper, headers, ssl_verify, ocr_languages, pdf_infer_table_structure)
    181 else:
    182     msg = "Invalid file" if not filename else f"Invalid file {filename}"
--> 183     raise ValueError(f"{msg}. The {filetype} file type is not supported in partition.")
    185 for element in elements:
    186     element.metadata.url = url

ValueError: Invalid file. The FileType.UNK file type is not supported in partition.
`

### Expected behavior

I would expect this error to be handled by the loader, simply ignore the unsupported files and load the rest. Can throw some warning to notify but not break the code.