添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

FFmpeg是多媒体处理的出色工具,默认情况下,它使用具有多线程的CPU来执行任务,这会给您的服务器带来很高的负载,并且在大多数情况下会很慢,例如使用FFmpeg将RTSP流转码成HLS流或FLV流输出时,服务器同时开启50路转码任务时,服务器资源会耗尽,输出的视频流会花屏、卡顿。

如何提高FFmpeg的速度:

方法一:使用 -preset 降低压缩率以获得更高速度(文件大小和速度之间进行权衡);

方法二:购买硬件,移植代码,使用GPU(nvenc,nvdec和cuvid)实现硬件解码,但这并不容易。

编码器预设参数设置preset

这个参数主要调节编码速度和质量的平衡,有:

ultrafast:最快的编码方式

superfast:超级快速的编码方式

veryfast:非常快速的编码方式

faster:稍微快速的编码方式

fast:快速的编码方式

medium:折中的编码方式

slow:慢的编码方式

slower:更慢的编码方式

veryslow:非常慢的编码方式

placebo:最慢的编码方式

默认的编码速度是medium模式

medium

FFmpeg 转码 很慢,默认的调用确实如此,其实本身人家是支持多线程的,用命令启用多线程后 转码 速度 就可以大幅提升了。 假设原始指令为: ffmpeg -i movie.mp4 -vf "crop=640:256:0:400" -strict -2 YourCroppedMovie.mp4 那么启用多线程后的指令: ffmpeg -i movie.mp4 -vf "crop=640:256:0:400" -threads 5 -preset ultrafast -strict -2 YourCroppedMo
上线HTTP点播 转码 在CPU和GPU上进行代码转换是昂贵且消耗资源的操作。 对于拥有数千名客户的大公司而言,拥有专用的24/7 转码 服务器至关重要。 但是我们,零星的代码转换用户,需要采用不同的方法。 仅当确实需要输出时才应进行 转码 。 该工具正在尝试通过按需提供 转码 来解决此问题。 该工具仅适用于实时流。 尚不支持寻找。 在yaml文件中将流指定为对象。 使用您的流创建streams.yaml文件: streams : <stream> : <stream> streams : cam : rtmp://localhost/live/cam ch1_hd : http://192.168.1.34:9981/stream/channelid/85 ch2_hd : http://192.168.1.34:9981/stream/
7 月 31 日,阿里云视频云受邀参加由开放原子开源基金会、Linux 基金会亚太区、开源中国共同举办的全球开源技术峰会 GOTC 2021 ,在大会的 音视频 性能优化专场上,分享了开源 FFmpeg 在性能 加速 方面的实战经验以及端云一体媒体系统建设与优化。 众所周知, FFmpeg 作为开源 音视频 处理的瑞士军刀,以其开源免费、功能强大、方便易用的特点而十分流行。 音视频 处理的高计算复杂度使得性能 加速 成为 FFmpeg 开发永恒的主题。阿里云视频云媒体处理系统广泛借鉴了开源 FFmpeg 在性能 加速 方面的经验,同
MMF(Mark 的媒体框架)由一堆脚本组成,这些脚本使用 ffmpeg 、mediainfo 和 neroaacEnc 为不同的目标设备 转码 视频。 mmfplay 应用程序是 mplayer 的前端,它解析输入文件并传递正确的参数以利用 VDPAU 加速 。 如果您有 nvidia 卡,则很有用,因为默认情况下 mplayer 不利用视频解码卸载。 mmfxcode 是一个 ffmpeg 前端,可以将输入视频 转码 为适合指定目标设备的格式。 目前,代码库包括一些设备的目标规范,如摩托罗拉 Xoom、苹果 iPhone/iPad、三星/谷歌 Nexus S 和 Roku XDS 流媒体播放器,几乎都使用 H.264/AAC 混合到 mp4。 支持复制音频编解码器 为 1080p-mp4-h264-copy 添加目标 支持“相同”的音频采样率 改进使用()文档 通过 MAX 1.背景介绍 在视频号项目中,允许用户上传一分钟内的编辑视频,或者选择30min内的长视频。目前来看,整个发表(视频 转码 +上传)的耗时还略显偏久,虽然当下 转码 过程都是在手机后台运行,不会阻塞用户交互,但是由于视频未发表成功,视频点赞和转发功能都被限制,对用户和业务而言,这都是很不好的体验,有值得优化的必要。 1.1分析:耗时来源 整个耗时 = 视频 转码 耗时 + 上传耗时目前上传的时间取决于用户网络,这个不是本文讨论的重点,先暂时不予考虑。那么为什么我们需要对视频.
需求源于手机拍摄的视频,默认参数码率较大,拍摄的文件体积较大,不便于保存和转发。 手机默认拍照的720P视频,默认码率达到4M,实际上转成1M就差不多了。 FFmpeg 默认的 转码 是使用软件解码,然后软件编码, 速度 慢,CPU使用率太高(基于100%)。 硬件环境: CPU: Intel i5-6400 4核2.7GHz RAM: 8GB SSD: Reeinno ST120GB 在这个命令中,`-i input.mp4` 指定输入文件为 `input.mp4`,`-c:v libx264` 指定视频编码器为 libx264(一种常用的视频编码器),`-g 60` 设置GOP间隔为 60 帧,`output.mp4` 是输出文件名。 GOP间隔决定了视频中连续两个关键帧(I帧)之间的间隔帧数量。较小的GOP间隔会增加视频文件的大小,但可以提供更好的随机访问和编辑性能。较大的GOP间隔可以减小文件大小,但会降低随机访问和编辑性能。您可以根据您的需求调整GOP间隔值。 希望这能帮到您!如果还有其他问题,请随时提问。