树莓派环境下使用python将h264格式的视频转为mp4
个人博客 地址:https://www.wenhaofan.com/a/20190430144809
下载安装MP4Box
命令行下执行以下指令安装MP4Box
sudo apt-get install gpac
代码
核心代码为使用 os.system 模块通过调用系统命令使用MP4Box将H264格式的视频转为MP4
import os
import random
import time
import ctcmsconf #初始化文件夹
def init_video_folder():
exist=os.path.exists(ctcmsconf.H264_PATH)
if not exist:
os.makedirs(H264_PATH)
exist=os.path.exists(ctcmsconf.MP4_PATH)
if not exist:
os.makedirs(ctcmsconf.MP4_PATH) #将h264视频转为mp4
def convert_to_mp4(source_path,target_path):
cmod='MP4Box -fps '+str(ctcmsconf.MP4_FPS)+' -add '+source_path+' '+target_path;
execute_state = os.system('MP4Box -fps '+str(ctcmsconf.MP4_FPS)+' -add '+source_path+' '+target_path);
print(cmod)
print(execute_state)
if execute_state==0:
return True
else:
return False #判断文件是否存在
def check_is_exist(path,suffix):
return os.path.exists(path+'.'+suffix) #生成mp4文件保存路径
def gen_mp4_filepath(filename=''):
if filename=='':
filename=gen_random_filename(ctcmsconf.MP4_PATH+'record-'+format_currrenttime('%Y%m%d%H%m%s'))
else:
filename=gen_random_filename(filename)
if check_is_exist(filename,'mp4'):
return gen_mp4_filepath(filename)
else:
return filename+'.mp4'
#生成h264文件保存路径
def gen_h264_filepath(filename=''):
if filename=='':
filename=gen_random_filename(ctcmsconf.H264_PATH+'record-'+format_currrenttime('%Y%m%d%H%m%s'))
else:
filename=gen_random_filename(filename)
if check_is_exist(filename,'h264'):
return gen_mp4_filepath(filename)
else:
return filename+'.h264' #生成随机文件名
def gen_random_filename(filename):
return filename+str(random.randint(0,10))
#格式化时间
def format_currrenttime(format='%Y-%m-%d %H:%M:%S'):
return time.strftime(format,time.localtime(time.time()))
ctcmsconf.py
H264_PATH='/home/pi/ctcms/record/h264/'; #将该路径修改为你本地h264文件的存储路径
MP4_PATH='/home/pi/ctcms/record/mp4/'; #将该路径修改为你本地mp4文件的存储路径
MP4_FPS=15; # FPS 视频帧率,该值越大视频所占空间也会越大,相应的会更流畅
树莓派环境下使用python将h264格式的视频转为mp4的更多相关文章
- Sublime Text3配置在可交互环境下运行python快捷键
安装插件 在Sublime Text3下面写代码感觉很不错,但是写Python的时候遇到了一些问题. 用Sublime Text3打开python文件,或者在Sublime Text3下写好pytho ...
- 4.1. 如何在Windows环境下开发Python
4.1. 如何在Windows环境下开发Python 4.1. 如何在Windows环境下开发Python 4.1.1. Python的最原始的开发方式是什么样的 4.1.1.1. 找个文本编辑器,新 ...
- Linux 环境下安装python相关
目录 Linux 环境下安装python相关 linux软件包管理工具之yum工具(如同pip3工具) yum源理解 下载阿里云的.repo仓库文件 ,放到/etc/yum.repos.d/ yum安 ...
- Centos7.4环境下搭建Python开发环境(虚拟机安装+python安装+pycharm安装)
目录 一.安装 Centos7.4虚拟机 二.安装 python3.6.7 三.安装 pycharm 一般情况下,大家都是在 Windows平台下进行 Python开发,软件安装和环境搭建都非常&qu ...
- 尚学python课程---11、linux环境下安装python注意
尚学python课程---11.linux环境下安装python注意 一.总结 一句话总结: 准备安装依赖包:zlib.openssl:yum install zlib* openssl*:pytho ...
- 尚学linux课程---10、linux环境下安装python
尚学linux课程---10.linux环境下安装python 一.总结 一句话总结: 直接在官网下载python的源码包即可,然后在linux下安装 linux下安装软件优先想到的的确是yum,但是 ...
- 从零开始Windows环境下安装python+tensorflow
从零开始Windows环境下安装python+tensorflow 2017年07月12日 02:30:47 qq_16257817 阅读数:29173 标签: windowspython机器学习te ...
- Docker环境下运行python+selenium+chrome
Docker环境下运行python+selenium+chrome docker运行时占用的资源非常少,而且能将环境进行有效的隔离,可以快速的进行部署,因此可以将docker与selenium结合实现 ...
- Win10 + VS2017 15.5.6 环境下解决 Python 3.6 环境无法刷新DB的问题
作为宇宙第一IDE,VS2017对Python的支持还算可以,虽然和PyCharm等Python专用IDE相比还有些差距,但是经过后续的更新升级,我相信VS2017将越来越完善.由于本人一直都是使用V ...
随机推荐
- windows系统端口占用
这几天win服务器几个服务总是停止运行,查询原因是端口被占用,解决方法 在dos窗口中使用以下命令 netstat -a 显示所有连接和监听端口 netstat -b 显示包含于创建 ...
- Mysql 字符问题
先看一下mysql支持的字符范围 *数值类型:1.整形: 类型 大小 范围 ...
- mac 软件相关的
mac 系统教学 https://www.w3cschool.cn/macdevsetup/carp1i83.html 可以查看的软件网站 https://www.ifunmac.com/ https ...
- h5笔记2
•离线缓存: html配置manifest属性,cache.manifest是缓存配置文件 <html lang="zh-CN" manifest="cache.m ...
- flyway使用简介
官网 https://flywaydb.org/ 背景 Flyway是独立于数据库的应用.管理并跟踪数据库变更的数据库版本管理工具.用通俗的话讲,Flyway可以像Git管理不同人的代码那样,管理不同 ...
- RaspberryPi 3b+ 安装OpenWrt教程
layout: post title: "RaspberryPi 3b+ 安装OpenWrt教程" date: 2019-09-28 22:00:00 +0800 categori ...
- 用pycharm自带的数据库创建项目00
一.生成表格1.创建模型类(在 models.py文件中创建一个person类并且继承models.Models类) 2.生成表格(在项目目录下)(1)生成迁移文件:在pycharm下方的命令行Ter ...
- codewars--js--Large Factorials--阶乘+大数阶乘
问题描述: In mathematics, the factorial of integer n is written as n!. It is equal to the product of n a ...
- git系列之---工作中项目的常用git操作
0.本地git的安装 官网下载 1.git 配置 git config user.name 查看 用户名 git config user.email 查看 邮箱 git config --glo ...
- Shiro -- (一)简介
简介: Apache Shiro 是一个强大易用的 Java 安全框架,提供了认证.授权.加密和会话管理等功能,对于任何一个应用程序,Shiro 都可以提供全面的安全管理服务.并且相对于其他安全框架, ...