ubuntu视频下载和利用opencv对视频进行处理
利用you-get下载视频文件
you-get安装
you-get是基于python的一个开源项目,项目地址link,依赖于ffmpeg下载器,使用前安装好python和ffmpeg。
利用命令安装you-get:
pip install you-get
you-get使用
最简单的使用方法:you-get 视频的url
you-get https://www.bilibili.com/video/BV1ws411z71V/?spm_id_from=333.337.search-card.all.click&vd_source=189beb9dc93bafdc591cfd3dabc2ef6f
常用命令选项:
#you-get -i 视频url
#查看视频基本信息
#you-get -o 文件夹路径
#视频存储路径
视频播放(mplayer)
安装视频播放软件mplayer:
sudo apt-get install mplayer
播放视频命令:
mplayer 视频路径
简单使用:
Esc 退出
空格键 播放或暂停
0 加音量键
9 减音量键
方向键向右或向上 快进部分时间
方向键向左或向下 后退部分时间
利用ffmpeg进行视频格式转换和播放
视频格式转换(.flv to .mp4)
ffmpeg -i input.flv -c copy output.mp4
播放视频(flv和mp4格式均可)
ffplay -autoexit input.flv
简单使用(与mplayer相同):
Esc 退出
空格键 播放或暂停
0 加音量键
9 减音量键
方向键向右或向上 快进部分时间
方向键向左或向下 后退部分时间
opencv对视频的读取和保存
import cv2 as cv
# 读取摄像头和视频文件
cap = cv.VideoCapture('/home/htzc/desk_data/1.flv')#一定视频文件绝对路径
# cap.get(propId) propId 可以是 0 到 18 之间的任何整数,每一个数代表视频的一个属性
frame_width = int(cap.get(3)) #视频宽 cv2.CAP_PROP_FRAME_WIDTH
frame_height = int(cap.get(4))#视频高 cv2.CAP_PROP_FRAME_HEIGHT
fps=int(cap.get(5)) #视频帧率 cv2.CAP_PROP_FPS
#创建保存视频的对象,设置编码格式,帧率,图像的宽高
out = cv.VideoWriter('output.avi', cv.VideoWriter_fourcc('M', 'J', 'P', 'G'), fps, (frame_width, frame_height)) # 保存视频
# VideoWriter_fourcc()常见的编码参数
# cv2.VideoWriter_fourcc('M', 'P', '4', 'V') # MPEG-4编码 .mp4 可指定结果视频的大小
# cv2.VideoWriter_fourcc('X','2','6','4') # MPEG-4编码 .mp4 可指定结果视频的大小
# cv2.VideoWriter_fourcc('I', '4', '2', '0') # 该参数是YUV编码类型,文件名后缀为.avi 广泛兼容,但会产生大文件
# cv2.VideoWriter_fourcc('P', 'I', 'M', 'I') # 该参数是MPEG-1编码类型,文件名后缀为.avi
# cv2.VideoWriter_fourcc('X', 'V', 'I', 'D') # 该参数是MPEG-4编码类型,文件名后缀为.avi,可指定结果视频的大小
# cv2.VideoWriter_fourcc('T', 'H', 'E', 'O') # 该参数是Ogg Vorbis,文件名后缀为.ogv
# cv2.VideoWriter_fourcc('F', 'L', 'V', '1') # 该参数是Flash视频,文件名后缀为.flv
while(True):
#获取视频中的每一帧图像
ret, frame = cap.read()
if ret == True:
out.write(frame) #视频写入
else:
break
#资源释放
cap.release()
out.release()
cv.destroyAllWindows()