用于将图像和深度保存和加载为H.264视频的模块

videoio的Python项目详细描述


视频:将图像序列保存/加载为H.264视频

一个小Python模块,用于将RGB和uint16(深度)帧保存和加载为H.264编码的视频

快速启动

保存/加载RGB帧:
importnumpyasnpfromvideoioimportvideosave,videoreadframes=np.random.random((20,200,400,3))#[framesNr, height, width, RGB]# Save to videovideosave("out.mp4",frames)# Load from videoframes=videoread("out.mp4")
按顺序读取帧:
^{pr2}$
按顺序写入帧:
fromvideoioimportVideoWriterwriter=VideoWriter("out.mp4",resolution=(400,200))#[width, height]foriinrange(100):frame=get_frame()writer.write(frame)writer.close()

或者

withVideoWriter("out.mp4",resolution=(400,200))aswriter:foriinrange(100):frame=get_frame()writer.write(frame)
uint16 3D阵列的无损写入/读取(有助于保存以毫米为单位存储的深度帧,例如Kinect数据):
importnumpyasnpfromvideoioimportuint16save,uint16read# Generate 20 random depth framesdepth_frames=(np.random.random((20,200,400))*65535).astype(np.uint16)# Saveuint16save("out_depth.mp4",depth_frames)# Loaddepth_frames=uint16read("out_depth.mp4")
使用不同的压缩预设和不同的FPS以无损模式保存RGB帧:
videosave("out.mp4",frames,lossless=True,preset="veryfast",fps=10.5)
读取RGB帧并将其缩放到目标分辨率:
frames=videoread("in.mp4",output_resolution=(100,250))

先决条件

  • ffmpeg启用libx264和ffprobe(通常随ffmpeg一起提供)
  • numpy
  • ffmpeg-python

安装

来自pip:

pip install videoio

来源:

git clone https://github.com/vguzov/videoio.git
python setup.py install

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么即使我已经给出了代码中的所有权限,该代码也没有在emulator中运行?   java Android Studio正在抛出“线程中的异常”main“javax.net.ssl.SSLException:收到致命警报:协议\版本”   java中的for循环嵌套foreach语句   java读取/src/main/resources和/webinf/classes下的文件   java无法以此格式构造JSON响应   身份验证尝试从CAS secure rest api获取响应,但从java客户端获取登录页面作为响应   如何在java中使用excel从第1列和第3列获取单元格值,并将其作为键值对放入map中   在Java程序中打开Windows虚拟键盘   java有没有递归调用findMatch的方法?   java Pig脚本/命令,用于根据多个字符串筛选文件   java最小数量应匹配,应与POST匹配   java打开/关闭声音按钮不工作   Java嵌入式数据库持久性   java在方法调用时引发异常   java文本文件被覆盖而不是保存的问题   java Hibernate sql注释