gpt4 book ai didi

python - 将使用 PyAV 接收的 h264 包保存在磁盘上

转载 作者:行者123 更新时间:2023-12-04 22:50:25 32 4
gpt4 key购买 nike

我正在使用 PyAV 在 5 分钟内从 H.264 流中读取数据包。我需要将编码的数据包保存在磁盘上,稍后加载和解码。我尝试使用 pickle 来保存数据包,但它无法序列化它们。我能做些什么?这是我的代码的一部分(当我尝试使用 pickle 保存数据包时引发异常,因此代码不起作用):

import av
import time
import pickle

# open container
container = av.open(url) # url from a h264 stream
# read packages from stream during 5 minutes and add them to a list
packets = []
initialTime = time.time()
for packet in container.demux(video = 0):
packets.append(packet)
if time.time() - initialTime > 300:
break
# save packets
pickle.dump(packets, open("packets.obj", "wb"))
# load packets, get the frames they contain and saves them as files
load_packets = pickle.load(open("packets.obj", "rb"))
for idx, packet in enumerate(load_packets):
frame = packet.decode_one()
if frame is not None:
frame.to_image().save('frame-%04d-%04d.jpg' % (frame.index, idx))

最佳答案

我没有使用 pickle 保存数据包,而是创建了一个输出 mp4 容器并将从 H.264 流中读取的数据包混合到其中。当我稍后需要加载它们时,我只是处理容器生成的视频。

关于python - 将使用 PyAV 接收的 h264 包保存在磁盘上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50545513/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com