cutcutcodec.core.io.write_ffmpeg.frame_video_to_av

cutcutcodec.core.io.write_ffmpeg.frame_video_to_av(frame_video: FrameVideo, full: bool = False, yuv: bool = True) VideoFrame[source]

Convert a FrameVideo cutcutcodec into a av video frame for encoding.

Parameters

frame_videocutcutcodec.core.classes.frame_video.FrameVideo

The torch frame video to cast.

fullboolean, default=False

If set to True, encode in full range rather limited range as default.

yuvboolean, default=True

If set to false, return a frame in rgb pixel format rather yuv.

Returns

av_frameav.video.frame.VideoFrame

The equivalent av video frame containing the similar image in format bgr24.

Examples

>>> import torch
>>> from cutcutcodec.core.classes.frame_video import FrameVideo
>>> from cutcutcodec.core.io.write_ffmpeg import frame_video_to_av
>>>
>>> frame_video_to_av(
...     FrameVideo(10, torch.zeros(480, 720, 3))
... )  
<av.VideoFrame, pts=3003000 yuv444p16le 720x480 at ...>
>>> frame_video_to_av(
...     FrameVideo(10, torch.zeros(480, 720, 4))
... )  
<av.VideoFrame, pts=3003000 yuva444p16le 720x480 at ...>
>>> frame_video_to_av(
...     FrameVideo(10, torch.zeros(480, 720, 3)),
...     yuv=False,
... )  
<av.VideoFrame, pts=3003000 rgb24 720x480 at ...>
>>>