ffmpeg threads_ffmpeg多线程转码
最近需要用ffmpeg进行视频转码,考虑到ffmpeg这个工具本身支持多线程,而服务器也是多核的,想最大程度发挥服务器的计算能力。显然不能用单线程了,但是线程并不是越多越好,需要找到个平衡点。这就需要用time命令进行计时,并将该屏幕的输出重定向到文件,以便后期进行分析。
假设我这里有个in.mp4的视频文件,分辨率为640*480,码率为580kbps,需要降低分辨率为320*240,降低码率为290kbps(这个参数和分辨率同时使用时不一定起作用,特别是中途退出时)。
普通降低分辨率,码率的命令:
ffmpeg-y-i in.mp4-s 320x240-b290000 out290.mp4
带thread参数的命令:
ffmpeg -y -threads 2 -i in.mp4 -s 320x240 -b 290000 out290.mp4
这里用了两个线程。
用time统计时间的命令:
time ffmpeg -y -threads 2 -i in.mp4 -s 320x240 -b 290000 out290.mp4
输出重定向命令:
(time ffmpeg -y -threads 2 -i in.mp4 -s 320x240 -b 290000 out290.mp4) 2>1.txt
由于输出为标准出错,所以这里用2>1.txt
当然也可使用如下命令:
(time ffmpeg -y -threads 2 -i in.mp4 -s 320x240 -b 290000 out290.mp4) >& 1.txt
为了同时在屏幕上输出,可以用tee命令。首先将标准出错重定向到标准输出,然后通过通道传给文件,命令如下:
(time ffmpeg -y -threads 2 -i in.mp4 -s 320x240 out290.mp4) 2>&1 | tee 1.txt
如果想测试下服务器到底支持多少个线程比较好,就需要写个脚本运行,我这里有一个,仅供参考:
#! /bin/bash
echo "Input num : "
read num
for (( i=1; i<=$num; i=i+1 ))
do
#(time ffmpeg -y -threads $i -i in.mp4 -s 320x240 -vcodec libx264 -vpre fast out290.mp4) >& $i.txt
(time ffmpeg -y -threads $i -i in.mp4 -s 320x240 -vcodec libx264 -vpre fast out290.mp4) 2>&1 | tee $i.txt
done
ffmpeg threads_ffmpeg多线程转码相关推荐
- ffmpeg多线程转码
FROM: http://www.xsdou.com/1470.html 最近需要用ffmpeg进行视频转码,考虑到ffmpeg这个工具本身支持多线程,而服务器也是多核的,想最大程度发挥服务器的计算能 ...
- 从FFmpeg 4. 2源码中提取dshow mjpeg code步骤
之前在https://blog.csdn.net/fengbingchun/article/details/103735560 中介绍过在Windows上通过vs2017编译FFmpeg源码进行单步调 ...
- linux 显卡转码,ffmpeg用GPU转码
8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 有些视频编码太屌,播放起来对CPU消耗巨大,而在电视上或者电视盒子上看视频,编码就需要合适,楼主用的FireTV Sti ...
- ffmpeg 参数_使用FFMPEG进行视频转码
Note: 此文章首发于我的个人博客zhi-hua.wang ,开放转载但需附上出处. 使用FFMPEG进行视频转码 - 日落孤城www.zhi-hua.wang FFMPEG 是一款开源的视频处理 ...
- ffmpeg rtmp 花屏_使用FFMPEG进行视频转码
Note: 此文章首发于我的个人博客zhi-hua.wang ,开放转载但需附上出处. 使用FFMPEG进行视频转码 - 日落孤城www.zhi-hua.wang FFMPEG 是一款开源的视频处理 ...
- ffmpeg使用bsf后码流从avcc格式变成annex-b造成硬解异常
ffmpeg使用bsf后码流从avcc格式变成annex-b造成硬解异常 问题的产生 第一个ffmpeg拷贝(copy)第三方的流到源站,第二个ffmpeg进程的源流为第一个ffmpeg的输出,并使用 ...
- ffmpeg学习日记506-源码-av_image_copy()函数分析及功能
ffmpeg学习日记506-源码-av_image_copy()函数分析及功能 实现文件 av_image_copy()实现在libavutil/imgutils.c中 函数原型 void av_im ...
- FFmpeg简述,源码分析,录制/压缩/水印/剪切/旋转/滤镜/美颜/上传视频等(CPU软编码和解码)
> ffmpeg源码分析 ffmpeg源码简析(一)结构总览- https://blog.csdn.net/Louis_815/article/details/79621056 FFmpeg的库 ...
- Qt基于FFmpeg实现视频转码
一.简述转码 转码的作用:封装格式的实现.(h264->mov.mp4.flv.avi(封装格式)等) 之前博客中提到如何把像素数据编码得到 H264 的压缩码流数据,但是一般的播放工具是没法直 ...
最新文章
- 薛XX后代的IQ CSU1597【循环节】或【快速幂】
- oracle的adr,oracle ADR
- 第4章 与缓冲区有关的函数
- git经常使用命令和问题
- python核心教程第二版答案_python核心编程第二版第4章习题答案.docx
- 计算机一级考试考网络什么,计算机一级考试内容 一级考试难不难
- 网络安全09_部署Windows XP、Windows Server 2003、Windows server 2008、Windows 7 每个虚拟机各两台(2)
- 全志A33-linux内核early_printk分析及使用
- c,c++中字符串处理函数strtok,strstr,strchr,strsub
- ShellExecute 函数的用法和实例
- FreeAnchor:令anchor自由匹配标签的策略
- ceisum 加载geojson,webgl 加载geojson数据没有贴地
- C++中消息自动派发之一 About JSON
- Centos 5.2安装Cacti并集成Nagios安装文档
- Drawbot赋能商家: 智能助手主打上新详情
- VS2015中OpenCV编程插件Image Watch安装和使用介绍
- error LNK2001: 无法解析的外部符号unresolved external symbol __imp__JNI_CreateJavaVM@12
- C#实现按键精灵的'找图' '找色' '找字'的功能
- 小程序项目:基于微信小程序的校园互助平台——计算机毕业设计
- html年龄0-120岁正则,正则表达式