带你使用FFMPEG将MP4视频文件转换为GIF

现在网络中很多时候会将mp4视频文件中的某一部分截取,转成gif图片传输,那么着需要怎么做呢?

ffmpeg  -i S70131-15433307.mp4 -s 272x480 -b:v 200k output1.mp4

-s用于设定分辨率,-b:v设定视频比特率来压缩大小

ffmpeg -ss 2 -t 5 -i output1.mp4 -s 272x480 -r 15 output1.gif

-ss 2 -t 5,从第2秒的地方开始,往后截取5秒钟, -r 用于设定帧数. 通常Gif有15帧左右就比较流畅了

convert output1.gif -fuzz 20% -layers Optimize output2.gif

设置fuzz因子可以将相近的颜色视为相同的颜色,这样就可以抵消抖动和色彩压缩的影响。
-fuzz选择多少能取得最大的压缩效果,同时对画质的影响可以接受,则需要耐心地尝试。

视频教学地址:FFMPEG将MP4视频转换为GIF

#互联网求职##学习路径#
全部评论

相关推荐

1.自我介绍2.介绍一下mcp, skills3.了解react哪些状态管理库4.对话是sse还是什么?是用fetch还是EventSource?5.ts中的any 和 unknown讲一讲6.是直接用组件库的组件还是自己封装了一些别的7.代码输出题1function main() {{var a = 1let b = 2}console.log(a);console.log(b);}main()console.log(a);8.什么是块级作用域 全局作用域 函数作用域9.代码输出题2for (var i = 0;i < 5;i++) {setTimeout(() => {console.log(i);}, 100);}10.代码输出题3for (var i = 0; i < 5; i++){function printText(temp) {setTimeout(() => {console.log(temp);}, 100);}printText(i)}11.代码输出题4for(var i = 0;i < 5;i++){function printText(temp) {var temp = isetTimeout(() => {console.log(temp);}, 100);}printText(i)}12.代码输出题5for(var i = 0;i < 5;i++){function printText(temp) {setTimeout(() => {var temp = iconsole.log(temp);}, 100);}printText(i)}13.点击控制台输出题export default function App() {const [count, setCount] = useState(0)console.log('render',count)return (<div><h1>{count}</h1>{setCount(count + 1)setTimeout(() => console.log('setTimeout', count), 1000)}}>+1</div>)}//这个组件点击按钮后,控制台的输出顺序和值如下:// 1. render 1 (组件重新渲染, count 更新为 1)// 2. setTimeout 0 (1秒后输出,注意这里是 0 而不是 1)14.算法:给有序数组arr = [-4, -1, 0, 3, 5],返回平方后的排序// 有序数组平方后排序const arr = [-4, -1, 0, 3, 5]function solution(arr) {const len = arr.lengthconst result = new Array(len)let left = 0let right = len - 1let index = len - 1while (left <= right) {if (arr[left] * arr[left] > arr[right] * arr[right]) {result[index] = arr[left] * arr[left]left++} else {result[index] = arr[right] * arr[right]right--}index--}return result}console.log(solution(arr));15.反问
查看14道真题和解析
点赞 评论 收藏
分享
评论
1
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务