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

网站企业石家庄网站制作系统

网站企业,石家庄网站制作系统,创办一家公司需要多少钱,中国石家庄网站写在前面最近正好有音视频编辑的需求#xff0c;虽然之前粗略的了解过FFmpeg不过肯定是不够用的#xff0c;借此重新学习下#xff1b;基本概念容器/文件(Conainer/File)#xff1a;即特定格式的多媒体文件#xff0c;一般来说一个视频文件是由视频#xff0c;音频#… 写在前面最近正好有音视频编辑的需求虽然之前粗略的了解过FFmpeg不过肯定是不够用的借此重新学习下基本概念容器/文件(Conainer/File)即特定格式的多媒体文件一般来说一个视频文件是由视频音频字幕等按特定的格式/规则组合到一起的常见如mp4 flv mkv avi媒体流Stream表示时间轴上的一段连续数据如一段声音数据、一段视频数据或一段字幕数据可以是压缩的也可以是非压缩的压缩的数据需要关联特定的编解码器。数据帧/数据包(Frame/Packet)通常一个媒体流是由大量的数据帧组成的对于压缩数据帧对应着编解码器的最小处理单元分属于不同媒体流的数据帧交错存储于容器之中。一般Frame对应压缩前的数据Packet对应压缩后的数据。编解码器(Codec)视频和音频都需要经过编码才能保存成文件。编解码器是指以帧为单位实现压缩数据和原始数据之间的相互转换的编码原始数据-压缩数据解码压缩数据-原始数据不同的编码格式CODEC有不同的压缩率会导致文件大小和清晰度的差异。常用的视频编码格式如下H.262 H.264 H.265示例原始图形YUV数据用H.264编码成H264帧image-20220420174551776常用的音频编码格式如下MP3 AAC示例原始声音PCM数据用AAC编码器编码成AAC帧是的音频也有帧image-20220420174752168复用(mux)把不同的流按照某种容器的规则放入容器这种行为叫做复用muximage-20220420173433070解复用(mux)把不同的流从某种容器中解析出来这种行为叫做解复用(demux)image-20220420173514115帧率Frame raten帧率也叫帧频率用FPS表示。帧率是视频文件中每一秒的帧数肉眼想看到连续移动图像至少需要15帧。一般电影的帧率为24码率(Bit Rate)比特率(也叫码率数据率)是一个确定整体视频/音频质量的参数秒为单位处理的位数码率和视频质量成正比在视频文件中中比特率用bps(bit per second)来表达。码率越低表示压缩程度越高画质越差。码率越高视频质量相对越高视频文件也就越大。FFmpegFFmpeg是一个很多的项目包括很多组件ffmpeg——一个命令行工具用来对视频文件转换格式也支持对电视卡即时编码ffserver——一个HTTP多媒体即时广播流服务器支持时光平移ffplay——一个简单的播放器基于SDL与FFmpeg库libavcodec——包含全部FFmpeg音频/视频编解码库libavformat——包含demuxers和muxer库libavutil——包含一些工具库libpostproc——对于视频做前处理的库libswscale——对于视频作缩放的库我们一般说的的FFmpeg 是指FFmpeg 的命令行工具第一条FFmpeg命令ffmpeg -y -i input.mp4 -acodec copy -vcodec libx264 -s 720x1280 output.avi参数解析-y # 全局参数等于npm -y  -i input.mp4 #输入文件FFmpeg命令有位置之分 -i 之前是输入参数之后是输出参数 -acodec copy #输出文件参数复制音频编码而不用重新编码 -vcodec libx26 #输出文件参数重新用libx26编码比较慢耗性能 -s 720x1280 #输出参数 output.avi #输出文件可以看到FFmpeg一般分为这五个部分大家参考上面命令对号入座全局参数输入文件参数输入文件输出文件参数输出文件所以这条命令的含义是把视频input.mp4不修改音频的情况下用libx26编码音频同时分辨率改成720*1280格式改成avi;视频信息左input.mp4 ,右output.avi可以看到视频文件已经完成了命令操作转换image-20220421111033369FFmpeg常用参数-c指定编码器-c copy直接复制不经过重新编码-c:v指定视频编码器-c:a指定音频编码器-i指定输入文件-an去除音频流-vn 去除视频流不处理视频-preset指定输出的视频质量会影响文件的生成速度有以下几个可用的值 ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow。-y不经过确认输出时直接覆盖同名文件。-ssize 设置帧大小 格式为WXH 缺省160X128.下面的简写也可以直接使用Sqcif 128X96 qcif 176X144 cif 252X288 4cif 704X576-bbitrate 设置比特率缺省200kb/s-vcodeccodec 强制使用codec编解码方式。 如果用copy表示原始编解码数据直接被拷贝。-filter  视频过滤器如 -filter:v cropw:h:x:y用过滤器v裁剪视频w - 源视频中裁剪的矩形的宽度h – 矩形的高度。x – 我们想自源视频中裁剪的矩形的 x 坐标 。y – 矩形的 y 坐标。-aspect设置横纵比 4:3 16:9 或 1.3333 1.7777-ssposition 搜索到指定的时间 [-]hh:mm:ss[.xxx]的格式也支持比如用来指定剪切开始时间FFmpeg命令处理流程我们还是以这条命令为例分析FFmpeg命令对视频的处理经过哪些流程ffmpeg -y -i input.mp4 -acodec copy -vcodec libx264 -s 720x1280 output.avi我们看图image-20220421151232836我们看到命令处理一般分成5个步骤解复用把容器文件解析成编码的数据包解码解码器把数据包解码成数据帧filter进行帧处理把1080 * 1920的数据帧处理成720 * 1280重新编码编码器libx264重新把数据帧编码成编码的数据包复用把数据包按格式avi封装这个简单流程比较重要要了然于心FFmpeg常用命令打印视频基本信息$ ffmpeg -i input.mp4 -hide_bannerInput #0, mov,mp4,m4a,3gp,3g2,mj2, from input.mp4:Metadata:major_brand     : mp42minor_version   : 0compatible_brands: mp42mp41isomavc1creation_time   : 2021-05-29T16:51:47.000000ZDuration: 00:00:30.61, start: 0.000000, bitrate: 5932 kb/sStream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1080x1920, 5672 kb/s, 60 fps, 60 tbr, 60 tbn (default)Metadata:creation_time   : 2021-05-29T16:51:47.000000Zhandler_name    : L-SMASH Video Handlervendor_id       : [0][0][0][0]encoder         : AVC CodingStream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 253 kb/s (default)Metadata:creation_time   : 2021-05-29T16:51:47.000000Zhandler_name    : L-SMASH Audio Handlervendor_id       : [0][0][0][0] At least one output file must be specified转换格式修改分辨率ffmpeg -y -i input.mp4  -s 720x1280 output.avi视频静音处理移除音频ffmpeg -i input.mp4 -an quiet.mp4从视频中提取图片ffmpeg -i input.mp4 -r 1 -f image2 -ss 00:00:10 -t 2 image-%2d.png-r – 设置帧速度。即每秒提取帧到图像的数字。默认值是 25。-f – 表示输出格式即在我们的实例中是图像。image-%2d.png – 表明我们如何想命名提取的图像。在这个实例中命名应该像这样image-01.png、image-02.png、image-03.png 等等开始。如果你使用 %3d那么图像的命名像 image-001.png、image-002.png 等等开始。添加/修改封面ffmpeg -y -i input.mp4 -i cover.png -map 0 -map 1 -c copy -disposition:v:1 attached_pic cover_output.mp4如果需要把视频第一帧截出来做封面那就先提取ffmpeg -ss 00:00:01 -i input.mp4  -f image2  cover.png提取视频里的音频文件ffmpeg -i input.mp4 -vn -c:a copy output.aac裁剪视频ffmpeg -i input.mp4 -filter:v crop640:480:120:240 cut.mp4-filter:v – 表示视频过滤器。crop – 表示裁剪过滤器。w – 我们想自源视频中裁剪的矩形的宽度。h – 矩形的高度。x – 我们想自源视频中裁剪的矩形的 x 坐标 。y – 矩形的 y 坐标。视频截取ffmpeg -i input.mp4 -ss 00:00:05 -codec copy -t 10 cutout.mp4-ss 开始时间-t 10,截取十秒视频切割拆分成多个ffmpeg -i input.mp4 -t 00:00:13 -c copy part1.mp4 -ss 00:00:13 -codec copy part2.mp4-t 00:00:13 表示从视频的开始到视频的第 30 秒创建一部分视频。-ss 00:00:13 为视频的下一部分显示开始时间戳。它意味着第 2 部分将从第 30 秒开始并将持续到原始视频文件的结尾。视频合并拼接ffmpeg -i concat:part1.mp4|part2.mp4 -c:a copy -c:v copy combine.mp4设置视屏屏蔽宽高ffmpeg -i input.mp4 -aspect 4:3 4_3.mp4通常使用的高宽比是16:94:316:105:42:21:12:35:12:39:1添加字幕ffmpeg -i input.mp4 -i subtitle.srt -c copy output.mkvsubtitle.srt 是字幕文件,然后这里选用的是软字幕方式比较快总结根据项目需要简单学习了下音视频的非常基本的概念和FFmpeg的基本使用留个记录[参考]https://www.ruanyifeng.com/blog/2020/01/ffmpeg.htmlhttps://zhuanlan.zhihu.com/p/67878761廖庆富视频教程文章博客园地址请点击“阅读原文”                                                                                                   不给我点个赞再走吗~
http://www.yutouwan.com/news/312585/

相关文章:

  • 建设美团网站wordpress get_most_viewed
  • 百度网站公司信息推广怎么做的网站后台登陆界面模板
  • 备案网站查询深圳旅游网站开发
  • 做艺人资料卡的网站最近实时热点新闻事件
  • 村级网站建设 不断增强苏州360推广 网站建设
  • 宜兴市做网站外贸服装接单网站
  • 网站上线 邮件群发模板网站设计就业培训
  • 阿里云主机网站开发WordPress网站被恶意登录
  • 郑州h5网站建设好用的ppt模板网站
  • 栖霞企业网站建设网站开发老是弹广告
  • 建设网站群的意义动态个人网站模板下载
  • 电子商务网站建设与维护题库目前流行的网站开发技术
  • 电商平台网站建设合同建站与备案的具体流程是什么
  • html5网站布局教程安阳市网站建设
  • 网站对于一个企业的优势展厅设计费取费标准一览表
  • 安徽省住房和城乡建设厅门户网站企业网站源码模板
  • 罗湖网站的建设长沙个人做网站
  • 武威 网站建设电商网站通用左侧弹出导航
  • fla可以做网站么衡水哪儿做网站便宜
  • 免费的韩国网站服务器网站价格套餐
  • 江西专业的企业网站建设公司企业网站优化分为
  • 毕业设计代做网站都可信么asp+access网站开发实例精讲
  • 网站悬浮窗广告酉阳网站制作
  • 徐州专业建站公司网站界面修改
  • logo图片素材大全百度爱采购优化软件
  • 网站建设开发服务费会计科目wordpress站关注别人
  • 百度推广非企代理哈尔滨关键词优化排行
  • 网站和网页建设题目企业咨询服务合同
  • 昆明网站建设价位做文字图片的网站
  • 如何利用阿里云做网站wordpress前端可视化编辑器