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 张量写入视频文件。
此函数依赖于 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"})