归档 紫溪涧 关于
手机端应用 FFmpeg 返回首页

序号: /2019/12/22/004

安卓手机上已经部署了 Debian 9 系统。
对音视频编辑的工作一般都是在电脑上做,
现在部分操作可以拿到手机上来做。

FFmpeg

功能

仓库安装

访问 deb-multimedia 查看对应版本和 cpu 架构的源地址【点击访问】

将仓库地址添加到 /etc/apt/sources.list 里面。

deb http://www.deb-multimedia.org stretch main non-free

添加完源之后执行

apt-get update -y
apt-get install -y deb-multimedia-keyring
apt-get install ffmpeg -y

安装完毕后使用 man ffpmeg 查看软件介绍及使用方法。

Ubuntu 及 Termux 可直接安装:

apt install ffmpeg -y

编译安装

参考:『Ubuntu编译 安装 FFmpeg』

实际应用

截取铃声

举个例子,我在抖音下载个小视频,想将该视频中的第15秒开始共3秒的语音截成铃声。

进入存放文件目录后输入指令:

ffmpeg -i 1.mp4 -ss 15 -t 3 -f mp3 2.mp3

就将该铃声截下来了,时间可以微调例如13.5秒,可以加入其他参数,调大声音、指定码率、帧率、分辨率等。

截取动图

还一个重大功能就是从视频中截取gif动画以及截取图片或者反向操作。只需按照相应格式添加参数即可。

我这里写了一个转化高清gif的脚本,只不过由于gif的压缩问题导致输出文件比较大(1MB的mp4能生成20MB的gif文件,scale改小能缩减体积,但最好不要小于240x)

新建一个脚本文件 vim cgif.sh

#written by zixijian
#convert videos to HD gif 
#example:bash cgif.sh 1.mp4 2.gif
#!/bin/sh

palette="tmp.png"

filters="fps=15,scale=480:-1:flags=lanczos"

ffmpeg -v warning -i $1 -vf "$filters,palettegen" -y $palette
ffmpeg -v warning -i $1 -i $palette -b:v 1k -lavfi "$filters [x]; [x][1:v] paletteuse" -y $2
rm -f tmp.png

然后使用命令转换即可

bash cgif.sh 1.mp4 2.gif

合成音视频

合并音频可使用 cat 指令 :

cat 1.mp3 2.mp3 >> 3.mp3

有时浏览器或者软件缓存视频,
视频会被分割成数十个小文件,
或是 m3u8 列表进行播放的,
进入到缓存目录合并:

ls | sort -n | xargs -i cat {} >> 666.ts

使用ls列出小文件,传递给 sort 按数字排序,再用 xargs -i 传递到大括号,之后就是 cat 合并。然后可以使用 ffmpeg 转码成 mp4。

下载 m3u8 视频

可以直接对 m3u8 播放列表进行边转码边下载。

ffmpeg -i https://XXXX/video.m3u8 -c copy  output.mp4

END


本作品采用“CC BY-SA 4.0”进行许可。


如果你觉得本文对你有帮助,请我喝杯咖啡吧。