New
TorchCodec 0.9
TorchCodec 0.9 is out! This comes with a new highly requested feature: video encoding!
Video Encoding
Video encoding on CPU is available. It provides a simple API to encode video frames to tensors or bytes, and optionally enables a set of key parameters.
from torchcodec.encoders import VideoEncoder
encoder = VideoEncoder(frames=frame_tensor, frame_rate=frame_rate)
encoder.to_file(dest="output.mp4") # encode to mp4 file
encoded_bytes = encoder.to_tensor(format="mp4") # encode to tensor of bytes
Additionally, several key parameters are exposed to control the encoded video:
# Utilize a specific codec, choose a pixel format to control quality
encoder.to_file(dest="output.mp4", codec="libx264", pixel_format="yuv420p")
# Set quality parameter `crf` to 0 for lossless encoding, use fast `preset`
encoded_bytes = encoder.to_tensor(format="mp4", crf=0, preset="fast")
Read more about the available features in the !