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

安装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博客

相关推荐
zslefour11 小时前
使用ffmpeg遍历获取音频文件相关信息
ffmpeg
Android系统攻城狮13 小时前
Linux FFmpeg深度解析之avcodec_parameters_from_context调用流程与实战(十六)
linux·运维·ffmpeg·音视频进阶·ffmpeg音视频·车载音视频进阶
Android系统攻城狮14 小时前
Linux FFmpeg深度解析之avcodec_alloc_context3调用流程与实战(十四)
linux·运维·ffmpeg·车载音视频·音视频进阶·ffmpeg音视频进阶
菜鸟小芯15 小时前
【Quectel Pi M2 实战】Day3 USB 摄像头图像采集:拍照、录像与踩坑记录(V4L2 + FFmpeg)
ffmpeg·嵌入式
Android系统攻城狮2 天前
Linux FFmpeg深度解析之av_dump_format调用流程与实战(十一)
linux·运维·服务器·ffmpeg·1024程序员节·音视频进阶
Android系统攻城狮2 天前
Linux FFmpeg深度解析之avcodec_find_decoder调用流程与实战(十二)
linux·运维·服务器·ffmpeg·1024程序员节·音视频进阶
Hommy882 天前
【直播切片工作台】第23章:媒体探测与转码:ffprobe 与 ffmpeg 封装
人工智能·ffmpeg·直播切片
码匠许师傅2 天前
【C++三方组件】FFmpeg:音视频处理的瑞士军刀
c++·ffmpeg·音视频
全栈探索者2 天前
从素材到成片:ffmpeg 拼接、转码与字幕,一条流水线交付
macos·ffmpeg·aigc·comfyui·视频剪辑
扶尔魔ocy3 天前
【QT+FFmpeg】知识点编目及传送门
qt·ffmpeg