Python 使用FFmpeg操作mp4

2021-02-01 15:20:33 浏览数 (1)

使用FFmpeg

首先得了解FFmpeg的用法。

代码语言:javascript复制
ffmpeg -i red.mkv -f flac -vn red.flac

如果音频(视频)比字幕快(或慢),则在裁剪的时候统一加上或减去一个时间差。

FFmpeg

PyCharm 报错 ‘ffmpeg’ 不是内部或外部命令,也不是可运行的程序

虚拟环境中需要找到FFmpeg的绝对路径

代码语言:javascript复制
ffmpeg_bin = 'E:/ffmpeg-20191019-31aafda-win64-static/bin/ffmpeg'
代码语言:javascript复制
subprocess.call(get_mp3_cmd, shell=True)

Python

python 读取文件时报错 UnicodeDecodeError: 'gbk' codec can't decode

错误UnicodeEncodeError: ‘gbk' codec can't encode character ‘xa0' in position

在网上一查,发现是 Windows 的控制台的问题。控制台的编码是 GBK,Python 是 UTF-8,造成了冲突。

第一种方法:直接替换出错的内容

代码语言:javascript复制
import requests 
url = 'https://blog.csdn.net/jianhong1990/article/details/17349537'
print(requests.get(url).text.replace('xa0', ' '))

第二种方法:再解码

先用 GBK 编码,加个 ignore 丢弃错误的字符,然后再解码。

代码语言:javascript复制
import requests
url = 'https://blog.csdn.net/jianhong1990/article/details/17349537'
print(requests.get(url).text.encode('gbk', 'ignore').decode('gbk')

int与string之间的转化

str转成数字

代码语言:javascript复制
ms = int(ms)
数字转成str

补零

代码语言:javascript复制
'{:0>2d}'.format(1)  # output 01

获取当前时间

代码语言:javascript复制
import time

time.time() # 格式化时间戳为标准格式
print(time.strftime('%Y%m%d-%H%M%S', time.localtime(time.time())))

# 获取30天前的时间(通过加减秒数来获取现在或者未来某个时间点)
print time.strftime('%Y.%m.%d',time.localtime(time.time()-2592000))

参考

  • http://www.zimuku.la/detail/123853.html
  • http://assrt.net/

0 人点赞