当前位置: 首页 > news >正文

建立一个网站要多久网页界面ps制作步骤

建立一个网站要多久,网页界面ps制作步骤,网站建设手机端,国外用wordpress在做视频目标检测时#xff0c;发现一个问题#xff0c;检测输出完的视频时大时小#xff0c;有时输出体积过大#xff0c;造成播放器播放时严重卡顿现象。本文就这一情况进行分析#xff0c;并就该问题提出相关解决方案。 视频基础知识 隔行扫描和逐行扫描 早期电视台在… 在做视频目标检测时发现一个问题检测输出完的视频时大时小有时输出体积过大造成播放器播放时严重卡顿现象。本文就这一情况进行分析并就该问题提出相关解决方案。 视频基础知识 隔行扫描和逐行扫描 早期电视台在传输节目信息时由于带宽有限于是想在带宽不变的情况下增加图像的分辨率让画面看起来更清晰于是就采用隔行扫描的方式如下图所示[1]第一帧扫描奇数行的数据第二帧扫描偶数行的数据交替进行。由于视觉暂留在人眼看来就是完整的视频图像。 隔行扫描1920x1080分辨率的视频也简称1080i逐行扫描则称为1080p。 现在的带宽已经能满足绝大多数逐行扫描的视频因此隔行扫描逐渐被淘汰后文所提视频也均是逐行扫描视频。 视频分辨率 视频分辨率指的是每一帧画面有多少像素点目前广泛采用的标准有720p、1080p、2K、4K。比如2K分辨率的长边大于2000就可称2k分辨率。下表是电视标准的分辨率标准[1]与手机之类的2k、4K分辨率数值不一定相同。 视频帧率 帧率很简单即一秒钟播放多少帧画面比如30FPS表示一秒钟播放30帧画面。 但在很多机器上比如大疆的机器上设置30FPS之后实际拍摄的视频却是29.97帧设置60FPS之后实际拍摄的视频是59.94帧。 这个现象是由于NTSC彩色电视标准制定时由于声音信息和电视信号过于接近容易产生干扰因此把电视信号的帧率减小千分之一导致这一情况出现[2]。 视频格式 在使用不同的摄像录制视频时会有不同的格式比较常见的是MP4、MOV、AVI等格式这些格式被称作封装格式相当于视频的一个大容器。这些格式多数可以相互转换对于视频本身起决定作用的是视频的编码格式。 视频编码本质是对视频的压缩如果视频不进行压缩所需要的存储量是极其恐怖的以1080P格式视频为例 一帧画面包含像素点1920x10802,073,600个像素点 每个像素包含RGB三个通道用3个字节(byte)存储; 那么一帧画面所需要的存储体积2,073,600*3/1024/1024≈5.7M 因此对视频编码十分必要下面是常见封装格式的视频编码类型[3]: 视频压缩 上述这些视频编码都是通过压缩视频的画面帧来减小视频的体积视频压缩包括帧内压缩和帧间压缩。 帧内压缩 帧内压缩就是对单帧图像进行压缩以JPEG压缩方法为例[3]人眼对亮度比较敏感对颜色不太敏感因此算法尽可能保留明度信息而压缩色度信息。 帧间压缩 帧间压缩是利用连续帧的时序信息对视频进一步压缩。以H.264视频编码为例[3]它将视频分成I帧P帧和B帧。I帧即通过帧内压缩得到的压缩视频帧P帧是利用相邻I帧之间的运动变化关系预测得到B帧是利用相邻P帧进一步双向预测得到。 通过这样两步操作让视频的体积大大减小。 视频码率 虽然上述视频编码方式能够极大压缩视频体积不过影响视频质量关键因素还包括码率。如果采用固定码率进行编码如果视频太过复杂比如很多随机粒子就会让视频看起来非常模糊。 视频码率又称比特率(bitrate)表示视频每秒所包含的数据量。常见的码率可分为固定码率(CBR)/可变码率(VBR)/固定质量(CRF)/平均码率(ABR)/固定量化参数(CQP)等。 固定码率即码率恒定优点是码率可控缺点是简单场景码率冗余复杂场景码率不够用因此用的不多。 可变码率是指码率按需进行分配简单场景码率低复杂场景码率高用的最多在PR中还提供了VBR2次编码的选项即包含一个目标码率和一个最大码率因此VBR被广泛使用。 OpenCV视频编码 了解完上述基础知识后不难发现在视频分辨率和帧率固定的基础上视频体积的大小主要取决于视频的编码格式和码率。 在OpenCV中通过cv2.VideoWriter_fourcc来定义视频编码例如*mp4v是采用MPEG-4的编码形式 vid_writer[i] cv2.VideoWriter(save_path, cv2.VideoWriter_fourcc(*mp4v), fps, (w, h))此外它还支持以下编码格式 H.264 / AVC: H264X264AVC1 H.265 / HEVC: HEVCH265X265 MPEG-4: MP4VDIVX Motion JPEG: MJPG MPEG-1: MPG1 MPEG-2: MPG2 XVID: XVID WMV: WMV1WMV2 视频码率修改 虽然OpenCV可以自定义编码方式但无法直接修改码率这导致有些视频输出之后码率变得极大比如这段12秒中的1080p视频码率达到71150kps整个文件110M大小。 在Python可以通过两种方式去修改视频码率。 第一种方式是通过调用FFmpeg的方式示例 import subprocess# 输入和输出视频文件路径 input_video input.mp4 output_video output.mp4# 设置比特率这里设置为1000k bitrate 1000k# 构建 FFmpeg 命令 ffmpeg_command fffmpeg -i {input_video} -b:v {bitrate} {output_video}# 运行 FFmpeg 命令 try:subprocess.run(ffmpeg_command, shellTrue, checkTrue)print(视频重新编码成功) except subprocess.CalledProcessError as e:print(f视频重新编码失败: {e})不过该方式需要提前下载安装FFmpeg方式并不是很便利。 第二种方式是直接调用moviepy库底层也是使用FFmpeg不过无需下载安装 示例 import os from moviepy.editor import VideoFileClip# 指定视频文件所在文件夹路径 videos_directory cs1/ videos_save cs2# 设置目标比特率kbps target_bitrate 20208k # 例如设置为 20208 kbps# 遍历指定文件夹中的所有视频文件 for file in os.listdir(videos_directory):if file.endswith(.mp4) or file.endswith(.avi) or file.endswith(.mov):# 构建视频文件的完整路径file_path os.path.join(videos_directory, file)# 读取视频文件clip VideoFileClip(file_path)# 写入视频文件并设置比特率output_file os.path.join(videos_save, file)clip.write_videofile(output_file, codeclibx264, bitratetarget_bitrate)print(f视频 {file} 处理完成并写入 {output_file})print(批量处理完成)由于视频编码默认采用的是VBR因此尽管这里设置了目标码率为20208kbps实际输出码率为21187kps会接近目标码率但并非固定。 通过这样处理之后视频本身的观感影响不大但体积减小了2/3。 更进一步可以将修改码率的操作和保存视频的流程结合起来下面是解决实际需求需要对视频裁剪的同时根据原视频的码率修改输出的视频。 下面的代码是保存多个文件尝试过对单帧处理时直接修改码率不过会出问题因为码率需要考虑视频连续帧的情况因此只能全部做完上一步再统一处理码率问题。 import cv2 from moviepy.editor import VideoFileClipdef get_original_bitrate(input_video):cap cv2.VideoCapture(input_video)if not cap.isOpened():print(无法打开视频文件)return None# 获取视频的原始比特率original_bitrate cap.get(cv2.CAP_PROP_BITRATE)# 释放资源cap.release()return original_bitratedef crop_video(input_video, output_video, target_bitrate):# 对视频进行空间上的裁剪使用 OpenCVcap cv2.VideoCapture(input_video)if not cap.isOpened():print(无法打开视频文件)return# 获取视频的基本信息fps cap.get(cv2.CAP_PROP_FPS)frame_width int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))frame_height int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))# 设置输出视频的编解码器和写入对象fourcc cv2.VideoWriter_fourcc(*mp4v)out cv2.VideoWriter(output_video, fourcc, fps, (894, 710))while True:ret, frame cap.read()if not ret:break# 对每一帧进行裁剪cropped_frame frame[161:871, 493:1387] # 这里是你想要的空间裁剪区域的坐标# 写入裁剪后的帧到输出视频文件out.write(cropped_frame)# 释放资源cap.release()out.release()cv2.destroyAllWindows()# 读取视频文件clip VideoFileClip(output_video)output_video2 output_video.replace(.mp4, _Update.mp4)# 保存裁剪和修改比特率后的视频clip.write_videofile(output_video2, codeclibx264, bitratetarget_bitrate)if __name__ __main__:# 输入视频文件路径input_video_path Video.mp4# 输出视频文件路径output_video_path input_video_path.replace(.mp4, _Crop.mp4)# 获取视频的原始比特率original_bitrate get_original_bitrate(input_video_path)# 设置目标比特率original_bitrate str(int(original_bitrate)) k# 调用函数进行视频裁剪和修改比特率crop_video(input_video_path, output_video_path, original_bitrate)视频推荐编码参考 码率越低视频体积越小。然而当码率过低时会影响到视频本身的清晰度。 下表是两大主流视频平台的推荐码率低于该码率可能会影响视频质量高出太多则会触发平台二次压缩对视频创作者来说具有参考价值。 参考 [1] 你知道什么是逐行扫描与隔行扫描吗https://www.bilibili.com/video/BV1Xu411B7x8/ [2] 影视飓风将停止制作25帧视频 https://www.bilibili.com/video/BV1hp4y1f7B5/ [3] 【科普】“视频”是怎么来的H.264、码率这些词又是什么意思 https://www.bilibili.com/video/BV1nt411Q7S6
http://www.zqtcl.cn/news/450078/

相关文章:

  • 动易网站后台修改栏目的字定制型网站设计价格
  • 设计网站页面临夏州建设厅官方网站
  • 给别人做网站需要什么许可证大连做网站开发的公司
  • 哪些网站国内打不开线下推广小组为了推广开放文明环境地图
  • 电子商务网站建设的核心网站收录检测
  • 厦门中小企业建网站补助源码做微信电影网站
  • 利用表单大师做网站网站备案证书放到哪里
  • 辽宁省建设科学研究院网站asp.net做网站 推荐书籍
  • 网站解决访问量超载做国外营销型网站设计
  • 思科中国网站开发案例网站如何进行建设
  • 网页设计与网站建设郑州大学怎么在传奇网站上做宣传
  • 中国建设银行重庆网站首页sns网站需求
  • 外网常用网站全网网站建设设计
  • 成都建设网站费用做数据库与网站招什么人
  • 最好的wordpress教程啥叫优化
  • 哪个网站做网销更好网站流量流出异常
  • 广州网站定做纸箱手工制作大全
  • 数据库修改网站后台密码cms三合一网站源码
  • 一般做哪些外贸网站丰南建设局网站
  • 网站如何被收录情况自己做的网站如何实现下载文件
  • 龙岩网站设计一般要多久深圳做自适应网站设计
  • 类似于拼多多的网站怎么做资料下载网站建设
  • 做商城网站哪里网站官网建设的价格
  • 网站怎么做用户体验山东富国建设投资有限公司网站
  • app ui模板网站首页改版影响优化
  • 周村网站制作哪家好网站设计基本要素
  • 网站制作与维护费用wordpress文章页不显示侧边
  • 嘉兴网站建设正规公司做室内设计人喜欢的网站
  • 入侵dedecms网站管理员密码百度注册域名免费建站
  • 找晚上做的工作去哪个网站企业开发软件公司拓展方案