EncodedUriVideo

Video utilities


Keywords
numpy, pyav, serialization, video-processing
Install
pip install EncodedUriVideo==0.0.3.1

Documentation

encoded-video

Open In Colab

Utilities for serializing/deserializing videos w/ pyav and numpy.

Purpose

  1. Have a helpful API for working with videos
  2. Liberate myself from relying on torch or tensorflow to do the above
  3. Serialize/deserialize videos without writing directly to file (helpful for sending/recieving videos over APIs)

Acknowledgments

This is more or less a torch-less version of EncodedVideo from pytorchvideo.

Setup

pip install encoded-video

Usage

import numpy as np
from encoded_video import bytes_to_video, read_video, video_to_bytes

vid = read_video('archery.mp4')
video_arr = vid['video']  # (T, H, W, C)
audio_arr = vid['audio']  # (S,)

out_bytes = video_to_bytes(
    video_arr,
    fps=30,
    audio_array=np.expand_dims(audio_arr, 0),
    audio_fps=vid['audio_fps'],
    audio_codec='aac'
)

restored_video = bytes_to_video(out_bytes)