Ubuntu 20.04 LTS ffmpeg gif mp4 互转 许编译安装ffmpeg ;解决gif转mp4转换后无法播放问题

news2025/1/21 18:51:38

安装ffmpeg

apt install ffmpeg -y

gif转mp4

 ffmpeg -f gif -i ldh.gif ldh.mp4

故障:生成没报错,但mp4无法播放,体积也不正常

尝试编译安装最新版

sudo apt install -y yasm
axel -n 100 https://ffmpeg.org/releases/ffmpeg-6.0.1.tar.xz
tar -xf ffmpeg-6.0.1.tar.xz 
cd ffmpeg-6.0.1/
./configure --prefix=/usr/local/
make -j16
sudo make install

新版本再转换一次

/usr/local/bin/ffmpeg -f gif -i ldh.gif ldh.mp4

文件体积变大了,但是windows下直接不识别,无法播放(之前不报错,但是没有播放出内容)

成功的版本(小gif还是失败)

采用新版本ffmpeg,且指定比特率为1mbps

 /usr/local/bin/ffmpeg -i 2.gif -b:v 1M 2.new.mp4

成功识别

但是小gif失败了,仍然无法识别(感觉,gif尺寸太小了)

尝试放大gif尺寸(成功)

 /usr/local/bin/ffmpeg -i ldh.gif -b:v 1M -vf scale=640:-1 ldh.mp4

设置宽640,高度自动

成功转换gif总结

1. 升级ffmpeg 到 6.0.1

2. 设置比特率1M

3. 对于小的gif,放大目标尺寸到宽度640

mp4转gif

这个指令比较简单,不用加其他参数,但是生成出来的gif尺寸巨大!

/usr/local/bin/ffmpeg -i ldh.mp4 ldh.new.gif

而且播放比较卡!

降低帧率

/usr/local/bin/ffmpeg -i ldh.mp4 -r 15 ldh.new.gif

继续压缩到最初的150x113 6.33fps

比原始的还小些。

原始的gif

新的同fps、体积gif

参考

ffmpeg 实现 视频与gif互转 (web3.xin)

Converting GIF to MP4 with FFmpeg: A Comprehensive Guide - FFmpeg API (ffmpeg-api.com)

ffmpeg Documentation

用ffmpeg将视频转成gif动图_ffmpeg mp4转gif-CSDN博客

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

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

相关文章

【k8s集群搭建(二):基于虚拟机的linux的k8s集群搭建_超详细_可视化界面Dashboard安装_记录全过程踩坑记录及解决方法】

在 master 执行 # 根据 在线配置文件 创建资源 kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.3.1/aio/deploy/recommended.yaml设置访问端口 # 修改配置文件 找到 type,将 ClusterIP 改成 NodePort kubectl edit svc kubernetes-…

QML20、布局

1.概述 首先,QML同样允许大家使用硬编码的方式将位置数值直接写到代码中,但是这样做首先难以适应UI的调整,其次代码维护起来也很困难。因此不推荐这样做。推荐大家使用的是以下三种布局管理器:Row,、Column、Grid、Flow,以及使用Anchor进行布局。 2.Row QML 中的 Row 元素…

JS-项目实战-鼠标悬浮变手势(鼠标放单价上生效)

1、鼠标悬浮和离开事件.js //当页面加载完成后执行后面的匿名函数 window.onload function () {//get:获取 Element:元素 By:通过...方式//getElementById()根据id值获取某元素let fruitTbl document.getElementById("fruit_tbl");//table.rows:获取这个表格…

如何录制视频课程?打造高品质在线教学!

在线教学和知识分享已经成为一种新型的教育模式,录制视频课程成为了许多教师、教育培训机构以及知识分享爱好者的首选。可是如何录制视频课程呢?本文将介绍两种录制视频课程的方法,并对其进行分步骤详细说明,以帮助您轻松创建令人…

手写LASSO回归python实现

import numpy as np from matplotlib.font_manager import FontProperties from sklearn.datasets import make_regression from sklearn.model_selection import train_test_split import matplotlib.pyplot as pltclass Lasso():def __init__(self):pass# 数据准备def prepar…

YB2502单片集成带可设定输出电流开关型降压转换器

描述: YB2502单片集成带可设定输出电 流开关型降压转换器,可在宽输入电压范围提供1.2安培的持续输出电流,具有优良的负载和线性调整度。最大输出电流可通过外接高精度取样电阻来设定。安全保护机制包括每周期的峰值限流、内部软启动和温度保护…

深度学习入门(第二天)——走进深度学习的世界 神经网络模型

反向传播计算方法 简单的例子: 如何让 f 值更小,就是改变x、y、z,而损失函数也是这样,那么我们分别求偏导,则能得出每个值对结果的影响 链式法则 梯度是一步一步传的 复杂的例子: 神经网络整体架构 类生…

SpringBoot + Disruptor 实现特快高并发处理,使用Disruptor高速实现队列

1 前言 工作中遇到项目使用Disruptor做消息队列,对!你没看错,不是Kafka也不是rabbitmq。Disruptor有个最大的优点就是快,还有一点它是开源的哦,下面做个简单的记录。 2 Disruptor介绍 Disruptor 是英国外汇交易公司…

【原创分享】PMU电源PCB设计要点

PMU(Power Management Unit)电源管理单元是一种集成在计算机、手机等电子设备中的芯片,用于管理设备的电源供应和功耗控制。 PMU主要具有以下功能: 1. 供电管理:PMU负责向设备的各个部分提供适当的电源电压和电流。 …

android studio编译SDL so库

一、下载源码 SDL官网 二、解压,拷贝android项目,并重新命名 2.1、解压 2.2,重命名项目名称(androidSDL)AndroidSDL Github 三、导入头文件和源文件,修改android.mk文件 3.1、在jni目录下创建SDL2文件…

在Broker端进行消息过滤

在Broker端进行消息过滤,可以减少无效消息发送到Consumer,少占用网络带宽从而提高吞吐量。Broker端有三种方式进行消息过滤。 1.消息的Tag和Key 对一个应用来说,尽可能只用一个Topic,不同的消息子类型用Tag来标识(每条…

工业机器人轨迹规划研究进展及发展趋势

原创 | 文 BFT机器人 01 轨迹规划简介 轨迹规划是工业机器人运动控制的基础,对工业机器人的工作效率和稳定性有重大影响。为掌握工业机器人轨迹规划方法的研究现状,根据工业机器人规划空间和优化目标的不同对轨迹规划方法进行分类,介绍了直…

SOP作业指导书系统如何帮助厂家实现数字化转型

SOP(Standard Operating Procedure,标准操作程序)电子作业操作手册的应用对于厂家实现数字化转型起着至关重要的作用。本文将探讨SOP电子作业操作手册如何帮助厂家实现数字化转型的重要性和优势。 首先,SOP作业指导书可以提高生产…

七、Nacos和Eureka的区别

一、nacos注册中心 二、临时实例与非临时实例 三、区别 Nacos支持服务端主动检测提供者状态:临时实例采用心跳模式,非临时实例采用主动检测模式临时实例心跳不正常会被剔除,非临时实例则不会被剔除Nacos支持服务列表变更的消息推送模式,服务…

K-means聚类方法

K-means聚类的思想和原理 模型介绍 对于有监督的数据挖掘算法而言,数据集中需要包含标签变量(即因变量y的值)。但在有些场景下,并没有给定的y值,对于这类数据的建模,一般称为无监督的数据挖掘算法&#x…

解密Vue中key的神奇原理:优化列表渲染效率的关键策略!

🎬 江城开朗的豌豆:个人主页 🔥 个人专栏 :《 VUE 》 《 javaScript 》 📝 个人网站 :《 江城开朗的豌豆🫛 》 ⛺️ 生活的理想,就是为了理想的生活 ! ​ 目录 ⭐ 专栏简介 📘 文章引言 一…

wps、office插入的复选框无法设置字体及大小?教你一招

插入的表单无法设置字体及大小 脑瓜子嗡嗡的吧?!! 如果没有强制要求,建议就换成开发工具下的复选框吧 如果一定要用上面这种,就自己做一个吧,设置方法如下 制作方法:插入选项卡插入窗体的复选框…

攀登代码巅峰:架构师成长之路不可错过的软件架构好书

架构师成长推荐书 概述好书推荐《高并发架构实战:从需求分析到系统设计》《架构师的自我修炼:技术、架构和未来》《中台架构与实现:基于DDD和微服务》《分布式系统架构:架构策略与难题求解》《流程自动化实战:系统架构…

开发一款小程序游戏需要多少钱?

小程序游戏的开发成本因多种因素而异,无法提供具体的固定数字。以下是影响小程序游戏开发成本的一些关键因素: 游戏规模和复杂度: 小程序游戏可以是简单的休闲游戏,也可以是更复杂的策略游戏。规模和复杂度会影响开发所需的时间和…

3.3 Windows驱动开发:内核MDL读写进程内存

MDL内存读写是一种通过创建MDL结构体来实现跨进程内存读写的方式。在Windows操作系统中,每个进程都有自己独立的虚拟地址空间,不同进程之间的内存空间是隔离的。因此,要在一个进程中读取或写入另一个进程的内存数据,需要先将目标进…