diff --git a/docarray/documents/video.py b/docarray/documents/video.py index b3f83a2ae3..ed76c64ec5 100644 --- a/docarray/documents/video.py +++ b/docarray/documents/video.py @@ -39,13 +39,16 @@ class VideoDoc(BaseDoc): You can use this Document directly: ```python - from docarray.documents import VideoDoc + from docarray.documents import VideoDoc, AudioDoc # use it directly vid = VideoDoc( url='https://github.com/docarray/docarray/blob/main/tests/toydata/mov_bbb.mp4?raw=true' ) - vid.tensor, vid.audio.tensor, vid.key_frame_indices = vid.url.load() + tensor, audio_tensor, key_frame_indices = vid.url.load() + vid.tensor = tensor + vid.audio = AudioDoc(tensor=audio_tensor) + vid.key_frame_indices = key_frame_indices # model = MyEmbeddingModel() # vid.embedding = model(vid.tensor) ``` diff --git a/tests/integrations/predefined_document/test_video.py b/tests/integrations/predefined_document/test_video.py index 12f7aa5796..90b340f4f7 100644 --- a/tests/integrations/predefined_document/test_video.py +++ b/tests/integrations/predefined_document/test_video.py @@ -4,7 +4,7 @@ from pydantic import parse_obj_as from docarray import BaseDoc -from docarray.documents import VideoDoc +from docarray.documents import VideoDoc, AudioDoc from docarray.typing import AudioNdArray, NdArray, VideoNdArray from docarray.utils._internal.misc import is_tf_available from docarray.utils._internal.pydantic import is_pydantic_v2 @@ -25,7 +25,10 @@ @pytest.mark.parametrize('file_url', [LOCAL_VIDEO_FILE, REMOTE_VIDEO_FILE]) def test_video(file_url): vid = VideoDoc(url=file_url) - vid.tensor, vid.audio.tensor, vid.key_frame_indices = vid.url.load() + tensor, audio_tensor, key_frame_indices = vid.url.load() + vid.tensor = tensor + vid.audio = AudioDoc(tensor=audio_tensor) + vid.key_frame_indices = key_frame_indices assert isinstance(vid.tensor, VideoNdArray) assert isinstance(vid.audio.tensor, AudioNdArray)