write_video¶
- torchvision.io.write_video(filename: str, video_array: Tensor, fps: float, video_codec: str = 'libx264', options: Optional[Dict[str, Any]] = None, audio_array: Optional[Tensor] = None, audio_fps: Optional[float] = None, audio_codec: Optional[str] = None, audio_options: Optional[Dict[str, Any]] = None) None [source]¶
將 [T, H, W, C] 格式的 4 維張量寫入影片檔案。
此函式依賴 PyAV (因此最終為 FFmpeg) 來編碼影片,您可以參考 FFMpeg wiki 中的其他選項,以獲得更精細的控制。
警告
在不久的將來,我們計劃將 PyTorch 的影片解碼功能集中在 torchcodec 專案中。我們鼓勵您試用並分享您的意見回饋,因為 torchvision 影片解碼器最終將被棄用。
- 參數:
filename (str) – 影片將儲存的路徑
video_array (Tensor[T, H, W, C]) – 包含個別影格的張量,格式為 [T, H, W, C] 的 uint8 張量
fps (Number) – 影片每秒影格數
video_codec (str) – 影片編碼解碼器的名稱,例如 “libx264”、“h264” 等
options (Dict) –
包含要傳遞到 PyAV 影片串流的選項的字典。選項列表取決於編碼解碼器,所有選項都可以在 FFMpeg wiki 中找到。
audio_array (Tensor[C, N]) – 包含音訊的張量,其中 C 是聲道數,N 是樣本數
audio_fps (Number) – 音訊取樣率,通常為 44100 或 48000
audio_codec (str) – 音訊編碼解碼器的名稱,例如 “mp3”、“aac” 等
audio_options (Dict) –
包含要傳遞到 PyAV 音訊串流的選項的字典。選項列表取決於編碼解碼器,所有選項都可以在 FFMpeg wiki 中找到。
- 範例:
>>> # Creating libx264 video with CRF 17, for visually lossless footage: >>> >>> from torchvision.io import write_video >>> # 1000 frames of 100x100, 3-channel image. >>> vid = torch.randn(1000, 100, 100, 3, dtype = torch.uint8) >>> write_video("video.mp4", options = {"crf": "17"})