dav格式视频播放及转换

发布时间:2024年01月24日

背景

????????有一个同事找我帮个忙,让我帮他读取以下一段视频,因为视频在他的电脑上无法播放。等他把视频发给我查看之后发现视频不是常用见的格式,是监控视频常用的dav格式,于是想到了使用转换视频格式的方式来实现目的需求。

dav格式的监控视频如何播放?

????????Dav格式是一种特定的视频格式,通常用于存储监控摄像头录制的视频。要播放Dav格式的监控视频,你可以尝试以下方法:

  1. 使用专门的Dav播放器:一些第三方播放器,如DAVPlayer和Davinci Resolve,支持直接播放Dav格式的视频。你可以在互联网上搜索并下载这些播放器,然后使用它们来打开和播放Dav文件。
  2. 转换为其他视频格式:如果你无法找到适合播放Dav格式的播放器,你可以尝试将Dav文件转换为常见的视频格式,如MP4或AVI。有一些视频转换工具(如FFmpeg和HandBrake)可以帮助你完成这个任务。你可以下载并安装这些工具,然后使用它们将Dav文件转换为所需的视频格式。完成转换后,你就可以使用常见的视频播放器来播放转换后的视频文件。

????????请注意,Dav文件可能会使用特定的编解码器,因此在播放或转换Dav文件之前,你可能需要安装相应的解码器或编解码器。

dav格式视频的读取转换的OpenCV-Python的实现

import cv2

# 读取Dav格式视频
dav_file = 'test.dav'
cap = cv2.VideoCapture(dav_file)

# 获取视频的参数
fps = cap.get(cv2.CAP_PROP_FPS)
width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))

# 设置输出视频的编解码器和参数
fourcc = cv2.VideoWriter_fourcc(*'mp4v')
output_file = 'output.mp4'
out = cv2.VideoWriter(output_file, fourcc, fps, (width, height))

# 逐帧读取视频并写入输出视频
while cap.isOpened():
    ret, frame = cap.read()
    if not ret:
        break
    out.write(frame)

# 释放资源
cap.release()
out.release()

运行过程如下:

?虽然运行过程提示丢失信息的警告,但是不影响结果,视频还是正常输出了。需要提醒的是,电脑上可能需要安装相应的视频解码软件才可以,还有就是,因为dav格式视频是压缩的,转换成mp4之后,视频存储量会变大,在我这个测试视频中,原来只有13M左右,转换成之后变成了48M,存储量扩大了将近4倍。

项目目录如下:

当然,也可以使用上面提到的视频转换工具实现,总之,解决了问题就好,殊途同归。

文章来源:https://blog.csdn.net/mzl_18353516147/article/details/135813952
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。