1 选一段视频
- 文件
- —
- 大小
- —
- 画面
- —
- 时长
- —
- 视频编码
- —
- 用什么读的
- —
2 挑出那一段
放起来,把要的那一段标出来。I 把开始点定在播放头这儿,O 定结束点,条上那两个手柄也能直接拖。
3 尺寸和帧率
宽度 高度跟着走,比例不会变。GIF 的花销就在宽度上:宽度砍一半,像素少四分之三。
精确宽度 单位像素,16 到 1920 之间。
每秒帧数 这不是视频自己的帧率,帧是从里面抽出来的。十二帧就读得出是在动;过了二十,文件涨得比顺滑看得出来的部分快。
抖动 配色板里缺哪个颜色,就拿两个凑。用的是有序抖动,所以静止的背景不会满屏爬。
一直循环 关掉就只放一遍,然后停住。
- 段落
- —
- 输出
- —
- 帧数
- —
- 大致体积
- —
# 视频转 GIF 把视频做成动图 挑好段落、尺寸和帧率。 > 把 MP4、MOV 或 WebM 里的一段做成 GIF 动图。段落、宽度和帧率你来定,读帧和写 GIF 都在你的浏览器里完成。什么都不上传。 这是一个浏览器交互工具,地址是 https://abox.tools/zh/video-to-gif/。文件在运行该浏览器的设备上处理。主动分享和可选联网功能都在页面上说明。下文是它的文字说明;使用工具请打开该地址。 ## 你的视频**在浏览器里处理**,无须上传处理。 每一帧的读取、缩放、量化和写出,都是你自己的浏览器用你自己的硬件做的。这里没有任何东西能取数据或者发数据,这个工具压根没有联网功能。就算真有,这个页面的另一头也没有服务器能接住一段视频。 - ✗ 不上传 - ✗ 不注册 - ✗ 没有水印 - ✓ 多长都行 - ✓ 断网能用 ## 视频怎么做成 GIF 1. **选一段视频。** 把 MP4、MOV、M4V 或者 WebM 拖到下面的方框里,或者点开自己挑。浏览器直接从你的硬盘上读,这期间没有东西发出去。 2. **标出那一段。** 放起来,该开始的地方按 `I`,该结束的地方按 `O`,也可以直接拖条上那两个手柄。GIF 就该是几秒钟的东西。文件是小是大,这个设置说了算,另外两个加起来都没它要紧。 3. **挑宽度和帧率。** 宽 480 像素、每秒 12 帧,GIF 的常见用途基本都够。宽度砍一半,像素少四分之三;每秒十二帧已经读得出是在动,再多的那些帧谁也看不出来,白花钱。 4. **做出来,然后下载。** 帧读进来,整段动画共用一份 256 色的配色板,每一帧只写画面里变了的那一块。做完就在页面上放给你看,那张图跟你下载到的是同一个文件。 ## 说得更细的版本 [怎么把视频做成 GIF](https://abox.tools/zh/guides/turn-a-video-into-a-gif/): 该挑哪一段、多宽、每秒几帧,视频做成 GIF 为什么会大出十倍,以及什么时候压根不该用 GIF。 ## 工具箱里还有 - [GIF 制作](https://abox.tools/zh/gif-maker/): 把一组图片变成一段动画。 - [GIF 拆帧](https://abox.tools/zh/split-gif/): 每一帧都单独存成一张 PNG。 - [GIF 分析](https://abox.tools/zh/gif-analyzer/): 帧、延时、调色板,以及每个字节的去向。 - [视频压缩](https://abox.tools/zh/compress-video/): 说一个它最多能有多大。剩下的工具来算,做完先量一遍再交给你。 ## 常见问题 ### 我的视频会传到什么地方去吗? 不会。读取、取帧、转换,全由你自己的浏览器在你自己的硬件上完成。这个工具没有服务器那一半,页面的 `Content-Security-Policy` 把它可能联的地址全列了出来,没有一个是本站的。与其听我们说,不如拔掉网线,照做一张试试。 ### 能转哪些格式? MP4、M4V 和 MOV 直接读,里面装的是 H.264、HEVC、AV1 还是 VP9 都行,只要你的浏览器解得了那个编码。其他浏览器能播的格式,最典型的是 WebM,改成把播放器逐个时间点跳过去取帧,慢一些,落在哪一帧上也没那么精确。浏览器既读不了也播不了的文件,实际上就是 AVI、WMV、FLV 和大多数 MKV,会被直接拒收并说明原因,不会干到一半才崩。 ### 我的 GIF 怎么这么大? 因为 GIF 是 1987 年的格式,它存的是一张张完整的图,不是运动。一段五秒的片子,做成 GIF 不可能跟它自己那个五秒的 MP4 一样小,视频转出来的 GIF 通常是原视频的十倍。真正决定大小的是三个设置,按要紧程度排:这一段多长、画面多宽、每秒几帧。宽度砍一半,像素就少四分之三,而花钱的正是像素。 ### 为什么只有 256 种颜色? 格式就是这么定的:一张 GIF 带一张最多 256 色的颜色表,每个像素存的是表里的编号。这个工具的做法是把你选中那一段里每一帧的颜色都数一遍,再分成 256 组,用的是中位切分法,业界标准做法,所以配色板是贴着你这段片子长出来的,不是一套固定颜色。缺了某个颜色的地方,抖动会把最接近的两种混在一起,让渐变还是渐变,而不是一道道色带。 ### 抖动那个设置是干什么的? 拿一点噪点,换掉一大片色带。开着的时候,一片本来会变成四道平色的天空还是渐变,代价是有点细微的纹理,文件也大一点。关掉则画面更平、文件更小,适合屏幕录像、线稿,以及本来就由大片纯色构成的东西。这里用的是有序抖动,不是误差扩散那种,所以没变化的背景在帧之间稳稳当当,不会满屏爬。 ### 长度和体积有限制吗? 开始前,页面会估算保留的帧、GIF 输出和临时解码缓冲区,并拒绝超出有限规划预算的方案。浏览器提供的设备内存提示可能降低预算,但它不会测量可用内存,也不能保证标签页始终处于预算内。减小宽度、缩短片段或降低帧率会减少输出处理量,但原视频仍需自己的解码缓冲区。 ### 声音能保住吗? GIF 装不了声音。这个格式压根没有带音频的版本,这也正是后来网上大多改用无声循环视频的主要原因。声音要紧的话,那就别转,留着视频,[视频剪切](https://abox.tools/zh/trim-video/)能从里面剪出一段,而且一帧都不重编。 ### 免费吗?要注册吗? 免费,没有账号,不用登录,没有试用期,也没有水印。本站带广告,经费就是这么来的,广告拿不到关于你视频的任何信息。 ## 这条隐私承诺怎么核实 - **处理在这个浏览器里完成。** 本工具在浏览器里处理输入和结果,处理代码不把它们上传去处理。Content-Security-Policy 限制可用资源和连接目的地,但已允许的主机仍可接收请求。策略不检查载荷,不能单独证明什么都没有发出。请把具体操作的请求与源码核对,或断网完成该本地操作。 - **这里没有任何东西会去联网取数据。** 这个工具完全没有联网功能。没有网址可以粘,没有东西要下载,第一次用也不去取什么引擎。碰过你视频的每一个字节,都是页面加载时从本站来的。 - **解码在本地。** 画面帧走的是你自己浏览器里的 WebCodecs,或者走那个本来就负责放这段片子的播放引擎。用的是哪一条,页面顶上写着,因为这会影响帧是怎么挑出来的,而你应该看得见这一点。 - **GIF 是在这儿写出来的,代码你能读。** 配色板、抖动和 LZW 压缩,加起来大约六百行,就在这个工具自己的目录里。没有编码服务,没有运行时去取的库,整套东西里也没有哪个地方能把一张图送出去。 - **Google 加载了什么,又拿不到什么。** 广告脚本和统计脚本来自 Google。关于你视频的信息,一条都没给它们,文件不给,画面帧不给,文件名、大小、时长、你标的那一段,也都不给。读取、取帧、量化、编码的每一行代码都从本站发出,也都摆在仓库里。 - **捐助按钮加载了什么,又拿不到什么。** 页头那个“Buy me a coffee”按钮,由 cdnjs.buymeacoffee.com 的脚本画出来,字体取自 Google Fonts。它就是个链接,仅此而已,不上报访问,也拿不到关于你或者你视频的任何东西。 - **断网照样能用。** 断开网络,这个页面上的一切照常工作。这是最省事的一条证明。 **你可以自己核对。**上面这些不用你信。这个页面是仓库里的模板和配置生成出来的,构建脚本你能读,也能自己跑一遍,跑出来的结果就提交在 `dist` 分支上。拿实际发给你的内容,跟你自己从源码构建出来的结果对一遍就知道了: https://github.com/A-Box-of-Tools/website 最值得先读的几个文件:`config/site.toml` 里是 Content-Security-Policy,`src/frames.js` 里是从视频里取帧的那两条路子,`src/quantize.js` 里是配色板,`src/gif.js` 里是文件本身,连 LZW 都在。这几个都没有引入任何能发请求的东西。
视频怎么做成 GIF
- 选一段视频。把 MP4、MOV、M4V 或者 WebM 拖到下面的方框里,或者点开自己挑。浏览器直接从你的硬盘上读,这期间没有东西发出去。
- 标出那一段。放起来,该开始的地方按 I,该结束的地方按 O,也可以直接拖条上那两个手柄。GIF 就该是几秒钟的东西。文件是小是大,这个设置说了算,另外两个加起来都没它要紧。
- 挑宽度和帧率。宽 480 像素、每秒 12 帧,GIF 的常见用途基本都够。宽度砍一半,像素少四分之三;每秒十二帧已经读得出是在动,再多的那些帧谁也看不出来,白花钱。
- 做出来,然后下载。帧读进来,整段动画共用一份 256 色的配色板,每一帧只写画面里变了的那一块。做完就在页面上放给你看,那张图跟你下载到的是同一个文件。
说得更细的版本
怎么把视频做成 GIF 该挑哪一段、多宽、每秒几帧,视频做成 GIF 为什么会大出十倍,以及什么时候压根不该用 GIF。
工具箱里还有
常见问题
我的视频会传到什么地方去吗?
不会。读取、取帧、转换,全由你自己的浏览器在你自己的硬件上完成。这个工具没有服务器那一半,页面的 Content-Security-Policy 把它可能联的地址全列了出来,没有一个是本站的。与其听我们说,不如拔掉网线,照做一张试试。
能转哪些格式?
MP4、M4V 和 MOV 直接读,里面装的是 H.264、HEVC、AV1 还是 VP9 都行,只要你的浏览器解得了那个编码。其他浏览器能播的格式,最典型的是 WebM,改成把播放器逐个时间点跳过去取帧,慢一些,落在哪一帧上也没那么精确。浏览器既读不了也播不了的文件,实际上就是 AVI、WMV、FLV 和大多数 MKV,会被直接拒收并说明原因,不会干到一半才崩。
我的 GIF 怎么这么大?
因为 GIF 是 1987 年的格式,它存的是一张张完整的图,不是运动。一段五秒的片子,做成 GIF 不可能跟它自己那个五秒的 MP4 一样小,视频转出来的 GIF 通常是原视频的十倍。真正决定大小的是三个设置,按要紧程度排:这一段多长、画面多宽、每秒几帧。宽度砍一半,像素就少四分之三,而花钱的正是像素。
为什么只有 256 种颜色?
格式就是这么定的:一张 GIF 带一张最多 256 色的颜色表,每个像素存的是表里的编号。这个工具的做法是把你选中那一段里每一帧的颜色都数一遍,再分成 256 组,用的是中位切分法,业界标准做法,所以配色板是贴着你这段片子长出来的,不是一套固定颜色。缺了某个颜色的地方,抖动会把最接近的两种混在一起,让渐变还是渐变,而不是一道道色带。
抖动那个设置是干什么的?
拿一点噪点,换掉一大片色带。开着的时候,一片本来会变成四道平色的天空还是渐变,代价是有点细微的纹理,文件也大一点。关掉则画面更平、文件更小,适合屏幕录像、线稿,以及本来就由大片纯色构成的东西。这里用的是有序抖动,不是误差扩散那种,所以没变化的背景在帧之间稳稳当当,不会满屏爬。
长度和体积有限制吗?
开始前,页面会估算保留的帧、GIF 输出和临时解码缓冲区,并拒绝超出有限规划预算的方案。浏览器提供的设备内存提示可能降低预算,但它不会测量可用内存,也不能保证标签页始终处于预算内。减小宽度、缩短片段或降低帧率会减少输出处理量,但原视频仍需自己的解码缓冲区。
声音能保住吗?
GIF 装不了声音。这个格式压根没有带音频的版本,这也正是后来网上大多改用无声循环视频的主要原因。声音要紧的话,那就别转,留着视频,视频剪切能从里面剪出一段,而且一帧都不重编。
免费吗?要注册吗?
免费,没有账号,不用登录,没有试用期,也没有水印。本站带广告,经费就是这么来的,广告拿不到关于你视频的任何信息。