def encode_frame(self, input_frame, pts: int) -> T.Iterator[Packet]: # for JPEG we only get a single packet per frame packet = Packet() packet.stream = self.video_stream packet.payload = input_frame.jpeg_buffer packet.time_base = self.time_base packet.pts = pts # TODO: check if we still need dts here, as they were removed from MPEG_Writer packet.dts = pts yield packet
def write_video_frame(self, input_frame): if not self.configured: self.video_stream.height = input_frame.height self.video_stream.width = input_frame.width self.configured = True packet = Packet() packet.payload = input_frame.jpeg_buffer packet.dts = self.frame_count * 10000 packet.pts = self.frame_count * 10000 self.frame_count += 1 self.container.mux(packet)
def write_video_frame(self, input_frame): if not self.configured: self.video_stream.height = input_frame.height self.video_stream.width = input_frame.width self.configured = True packet = Packet() packet.payload = input_frame.jpeg_buffer packet.dts = self.frame_count*10000 packet.pts = self.frame_count*10000 self.frame_count +=1 self.container.mux(packet)
def write_video_frame(self, input_frame): if not self.configured: self.video_stream.height = input_frame.height self.video_stream.width = input_frame.width self.configured = True packet = Packet() packet.payload = input_frame.jpeg_buffer #we are setting the packet pts manually this uses a different timebase av.frame! packet.dts = int(self.frame_count/self.video_stream.time_base/self.fps) packet.pts = int(self.frame_count/self.video_stream.time_base/self.fps) self.frame_count +=1 self.container.mux(packet)