镭速大文件传输视频文件预览实现原理

news2025/1/17 16:51:59

镭速可以支持视频预览,在测试过程中需要大量不同格式的视频,如果直接去找各种格式的视频不太现实,所以就会用到一个视频格式转换的工具ffmpeg,本文将介绍ffmpeg的基本使用方法。FFmpeg 是一个免费开源的音视频处理工具,可以进行音视频转码、剪辑、合并、分割等操作。它不仅功能强大,而且跨平台,适用于各种操作系统,包括 Windows、Linux 和 macOS。

介绍ffmpeg工具之前先了解一些视频处理的基本概念

1.概念

1.1容器

视频文件本身是一个容器(container),包含视频、音频和可能的字幕等内容。常见的容器格式通常可以通过文件的后缀名来识别。

查看ffmpeg支持的容器可以使用 ffmpeg -formats 命令查看。

1.2 编码格式

视频和音频需要进行编码才能保存成文件。不同的编码格式(CODEC)具有不同的压缩率,从而导致文件大小和清晰度的差异。
常见的视频编码格式:h.264、h.265、mpeg-2、mpeg-4。

常见音频编码格式:MP3、AAC

1.3 编码器

编码器(encoders)是用来实现特定编码格式的库文件。只有安装了相应格式的编码器,才能进行该格式的视频/音频编码和解码。以下是一些常见的内置于 FFmpeg 的视频编码器。

libx264:最流行的开源 H.264 编码器

NVENC:基于 NVIDIA GPU 的 H.264 编码器

libx265:开源的 HEVC 编码器

libvpx:谷歌的 VP8 和 VP9 编码器

libaom:AV1 编码器

3.ffmpeg常用命令

3.1查看本地的视频信息

ffmpeg -i 查看的视频

fps:表示平均帧率,总帧数除以总时长(以s为单位)。

tbr :表示帧率,该参数倾向于一个基准,往往tbr跟fps相同。

tbn: 表示视频流

tbc : 表示视频流

yuv420p: 电视行业的颜色编码方法

avc1:mp4视频格式封装的avc1编码格式(是不带起始码的H264编码格式)

acc:音频编码格式(Advanced Audio Coding,高级音频编码)

3.2转FPS

Ffmpeg –i 待转视频 -r 帧数 转换后的视频

3.3视频格式转换

比如一个avi文件,想转为mp4,或者一个mp4想转为avi。

ffmpeg -i input.avi output.mp4

ffmpeg -i input.mp4 output.avi

3.4提取音频

ffmpeg -i test.mp4 -acodec copy -vn output.aac
上面的命令,默认mp4的audio codec是aac,如果不是,可以都转为最常见的aac。
ffmpeg -i test.mp4 -acodec aac -vn output.aac

提取视频

ffmpeg -i input.mp4 -vcodec copy -an output.mp4

3.5视频剪切

参数:-ss表示开始切割的时间 、-t表示要切多少。

下面就是从15秒开始,切5秒钟出来,下面的命令,可以从时间为00:00:15开始,截取5秒钟的视频。

Ffmpeg -ss 00:00:15 -t 00:00:05 -i D:\otherVedio\IOSvedio2.mp4 D:\otherVedio\IOSvedio2-截取3秒.avi

或者

ffmpeg -ss 00:00:15 -t 00:00:05 -i input.mp4 -vcodec copy -acodec copy output.mp4

3.6码率转换

-b:v主要是控制平均码率。

比如一个视频源的码率太高了,有10Mbps,文件太大,想把文件弄小一点,但是又不破坏分辨率。

ffmpeg -i input.mp4 -b:v 2000k output.mp4

3.7视频编码格式转换

比如一个视频的编码是MPEG4,想用H264编码

ffmpeg -i input.mp4 -vcodec h264 output.mp4

3.8分辨率转换

Ffmpeg – i 原视频文件 -s 360x640 新视频文件

以上只是简单介绍了ffmpeg的简单用法,测试过程中主要用于转换不同编码格式、不同分辨率、不同码率等的视频文件。总之,ffmpeg 是一个非常强大的音视频处理工具,具备处理各种音视频格式、进行剪辑和编辑、音频处理、视频编解码、流媒体传输、视频分析和处理等多种功能,适用于各种音视频处理需求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2278087.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

keepalived双机热备(LVS+keepalived)实验笔记

目录 前提准备: keepalived1: keepalived2: web1: web2: keepalived介绍 功能特点 工作原理 应用场景 前提准备: 准备4台centos,其中两台为keepalived,两台为webkeepalive…

MySQL(高级特性篇) 02 章——MySQL的数据目录

一、MySQL8的主要目录结构 命令: find / -name mysql 安装好MySQL8之后,我们查看如下的目录结构 (1)数据库文件的存放路径 MySQL数据库文件的存放路径:/var/lib/mysql/MySQL服务器程序在启动时会到文件系统的某个目…

【C++篇】红黑树的实现

目录 前言: 一,红黑树的概念 1.1,红黑树的规则 1.2,红黑树的最长路径 1.3,红黑树的效率分析 二,红黑树的实现 2.1,红黑树的结构 2.2,红黑树的插入 2.2.1,大致过程…

UDP报文格式

UDP是传输层的一个重要协议,他的特性有面向数据报、无连接、不可靠传输、全双工。 下面是UDP报文格式: 1,报头 UDP的报头长度位8个字节,包含源端口、目的端口、长度和校验和,其中每个属性均为两个字节。报头格式为二…

解锁转型密码:不同方向的技能与素质修炼手册

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 解锁…

HTML中最基本的东西

本文内容的标签,将是看懂HTML的最基本之基本 ,是跟您在写文章时候一样内容。一般想掌握极其容易,但是也要懂得如何使用,过目不忘,为手熟尔。才是我们学习的最终目的。其实边看边敲都行,或者是边看边复制粘贴…

NodeJS | 搭建本地/公网服务器 live-server 的使用与安装

目录 介绍 安装 live-server 安装方法 安装后的验证 环境变量问题 Node.js 环境变量未配置正确 全局安装的 live-server 路径未添加到环境变量 运行测试 默认访问主界面 访问文件 报错信息与解决 问题一:未知命令 问题二:拒绝脚本 公网配置…

【excel】VBA股票数据获取(搜狐股票)

文章目录 一、序二、excel 自动刷新股票数据三、付费获取 一、序 我其实不会 excel 的函数和 visual basic。因为都可以用matlab和python完成。 今天用了下VBA,还挺不错的。分享下。 上传写了个matlab获取股票数据的,是雅虎财经的。这次是搜狐股票的数…

Redis的过期策略、内存淘汰机制

Redis只能存5G数据,可是你写了10G,那会删5G的数据。怎么删的?还有,你的数据已经设置了过期时间,但是时间到了,为什么内存占用率还是比较高? 一、Redis的过期策略 Redis采用的是定期删除惰性删除策略。 1…

C语言结构体漫谈:从平凡中见不平凡

大家好,这里是小编的博客频道 小编的博客:就爱学编程 很高兴在CSDN这个大家庭与大家相识,希望能在这里与大家共同进步,共同收获更好的自己!!! 本文目录 引言正文《1》 结构体的两种声明一、结构…

redis(2:数据结构)

1.String 2.key的层级格式 3.Hash 4.List 5.Set 6.SortedSet

OCP使用中的常见问题与解决方法

OCP的常见问题 页面卡顿: 遇到页面卡顿的问题时,首先需要区分是全局性的卡顿,即所有页面都出现延迟或响应缓慢,还是仅限于特定的监控页面。 监控数据看不到: 需要明确是全部数据都无法查看,还是仅限于特定集群的数…

第三十八章 Spring之假如让你来写MVC——适配器篇

Spring源码阅读目录 第一部分——IOC篇 第一章 Spring之最熟悉的陌生人——IOC 第二章 Spring之假如让你来写IOC容器——加载资源篇 第三章 Spring之假如让你来写IOC容器——解析配置文件篇 第四章 Spring之假如让你来写IOC容器——XML配置文件篇 第五章 Spring之假如让你来写…

【开源免费】基于SpringBoot+Vue.JS企业OA管理系统(JAVA毕业设计)

本文项目编号 T 135 ,文末自助获取源码 \color{red}{T135,文末自助获取源码} T135,文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…

(12)springMVC文件的上传

SpringMVC文件上传 首先是快速搭建一个springMVC项目 新建项目mvn依赖导入添加webMoudle添加Tomcat运行环境.在配置tomcat时ApplicationContext置为"/"配置Artfact的lib配置WEB-INF配置文件(记得添加乱码过滤)配置springmvc-servlet文件&…

【华为路由/交换机的ftp文件操作】

华为路由/交换机的ftp文件操作 PC:10.0.1.1 R1:10.0.1.254 / 10.0.2.254 FTP:10.0.2.1 S1:无配置 在桌面创建FTP-Huawei文件夹,里面创建config/test.txt。 点击上图中的“启动”按钮。 然后ftp到server,…

虚拟拨号技术(GOIP|VOIP)【基于IP的语音传输转换给不法分子的境外来电披上一层外衣】: Voice over Internet Protocol

文章目录 引言I 虚拟拨号技术(GOIP|VOIP)原理特性:隐蔽性和欺骗性II “GOIP”设备原理主要功能III 基于IP的语音传输 “VOIP” (Voice over Internet Protocol)IV “断卡行动”“断卡行动”目的电信运营商为打击电诈的工作V 知识扩展虚拟号保护隐私虚拟运营商被用于拨打骚扰…

获取当前页面的url相关信息

引言:如何通过javascript获取当前html页面的链接信息 let currentUrl window.location.href; let protocol window.location.protocol; // 协议 let host window.location.host; // 主机名和端口 let hostname window.location.hostname; // 主机名 le…

【C++】size_t全面解析与深入拓展

博客主页: [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: C 文章目录 💯前言💯一、什么是size_t?为什么需要size_t? 💯二、size_t的特性与用途1. size_t是无符号类型示例: 2. size_t的跨平台适应性示例对…

Quinlan C4.5剪枝U(0,6)U(1,16)等置信上限如何计算?

之前看到Quinlan中关于C4.5决策树算法剪枝环节中,关于错误率e置信区间估计,为啥 当E=0时,U(0,1)=0.75,U(0,6)=0.206,U(0,9)=0.143? 而当E不为0时,比如U(1,16)=0.157,如图: 关于C4.5决策树,Quinlan写了一本书,如下: J. Ross Quinlan (Auth.) - C4.5. Programs f…