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] 格式的 4d 张量写入视频文件。
警告
已弃用:Torchvision 的所有视频解码和编码功能从 0.22 版本开始弃用,并将在 0.24 版本中移除。我们建议您迁移到 TorchCodec,未来 PyTorch 的解码/编码功能将整合在那里。
此函数依赖于 PyAV(因此最终依赖于 FFmpeg)进行视频编码,您可以参考 FFMpeg wiki 中可用的其他选项来获得更精细的控制。
- 参数:
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"})