录制H264视频时,只有I帧正确编码

时间:2015-12-17 11:31:02

标签: python raspberry-pi h.264 raspbian

我使用picamera软件包在Python脚本中使用Raspberry Pi 2和相机模块录制视频。请参见下面的最小示例:

import picamera
import time

with picamera.PiCamera(resolution=(730, 1296), framerate=49) as camera:
    camera.rotation=270
    camera.start_preview()
    time.sleep(0.5)
    camera.start_recording('test.h264')
    time.sleep(3)
    camera.stop_recording()
    camera.stop_preview()

结果

结果是编码错误的视频:

  • 第一帧是好的
  • 在接下来的59帧中,场景几乎看不到,几乎全是绿色或紫色(不清楚两种颜色之间的变化)
  • 第61号帧正常

基本上只有I帧被正确编码。这澄清了试验intra_period函数的start_recording参数的不同值。

已经做出的笔记和尝试

首先,我使用相同的代码在同一个Raspberry Pi和相机上正确录制视频。在更新,安装其他软件包时,重新安装整个映像时是否出现问题并不清楚...

此外:

  • 如果我没有设置resolution参数和旋转,相机就可以正常工作
  • 已经在同一台机器和其他机器上测试了几个视频播放器,并使用OpenCV逐帧处理,这在视频文件中确实存在问题
  • mjpeg格式正常
  • 设置sensor_mode=5
  • 时会出现同样的问题

问题

主要问题是如何通过更正上述代码或解决方法以设定的分辨率正确录制视频。 次要问题:我很想知道可能导致这种行为的原因。

0 个答案:

没有答案