将视频文件中的时间和日期保存在文件名中

时间:2019-07-04 01:18:56

标签: python file raspberry-pi

预期行为

  1. 自动运行程序以在短时间内录制视频。
  2. 将视频保存到特定目录中的唯一文件名(以避免覆盖)。理想情况下,该文件名应包含日期和时间。

实际行为

  1. 成功
  2. 文件名始终为video.h264

我尝试了在网上找到的各种方法,但是它们只会导致文件名显示部分代码。恼人的是它曾经工作过一次,但是将它保存到了我意料之外的地方,并且在意识到它起作用之前就更改了代码!

完整文件

    # Import Libraries

    import os       #Gives Python access to Linux commands
    import time         #Proves time related commands
    import RPi.GPIO as GPIO #Gives Python access to the GPIO pins


    GPIO.setmode(GPIO.BCM)  #Set the GPIO pin naming mode
    GPIO.setwarnings(False) #Supress warnings

    # Set GPIO pins 18 as output pin
    LEDReady = 18 #Red

    GPIO.setup(LEDReady,GPIO.OUT)

    GPIO.output (LEDReady,GPIO.HIGH)

    from subprocess import call
    call(["raspivid", "-o", "video.h264", "-t", "50000n"])
    time.sleep(10) #Sleep for 10 seconds

    GPIO.output (LEDReady,GPIO.LOW)

添加DATE=$(date +"%Y-%m-%d_%H%M") 并将video.h264更改为$DATE.h264会导致$ DATE出现语法错误。

令人着迷的是,我有一个名为20180308_021941.h264的文件,该文件正是我所追求的,但是我无法告诉你我是如何管理的!

P.S。红色LED点亮,以便我可以判断Raspberry Pi是否已正确启动并运行了Python脚本。

非常感谢您阅读本书。

1 个答案:

答案 0 :(得分:1)

尝试添加此内容

from datetime import datetime

date = datetime.now().strftime("%Y%m%d%H:%M:%S")

然后将您的呼叫更改为此

videoFile = date + ".h264"
call(["raspivid", "-o", videoFile, "-t", "50000n"])