页面代码没有启动。

直接从文件夹打开 index.html 会阻止 JavaScript 模块加载,所以选择一段视频后不会有任何反应。 请改用 http 方式提供此目录:

powershell -ExecutionPolicy Bypass -File serve.ps1

Then open http://localhost:8080/.

视频旋转

转四分之一圈、半圈,或者往另一边转。使用文件头旋转时,每一帧画面保持原样。

查看源码
你的视频在你自己的浏览器里处理,不做任何上传。

你选的那段视频,读取、换一个文件头、重新写出,全都在这台机器的内存里完成,用的是从这个地址发来的代码;要是你选择把旋转烧进画面,画是你自己浏览器里的编解码器画的。这里根本没有能做上传的东西,这一页的另一头也没有服务器可以接收。一个 GB 的文件不会为了转个方向而先跑一趟上传。

实时检查: 核对中…

离线: 核对中…

别听我们说。打开开发者工具,盯着网络面板,然后转点什么。没有任何一条请求带着视频、一帧画面或者文件名。或者干脆断网,照样能转。

1 选那段视频

2 转一下

手机拍横了的时候并没有把像素转过来:它往文件头里写了一个四分之一转,播放器会照着转。使用文件头旋转时,这一页改变显示矩阵,每一帧画面原样复制。声音会原样复制、重新编码为 AAC 或去掉。

把旋转烧进画面 把每一帧转好画出来,再重新编码成 H.264,给少数不认文件头的老桌面播放器。会丢一代画质,要花一次编码的时间;除非有播放器把片段放横了,否则别勾。

3 旋转

以 Markdown 查看

怎么旋转视频

  1. 选那段视频。一次一个:MP4、MOV、M4V、WebM 或 MKV。浏览器直接从你的硬盘读它,页面会说它是什么,以及它现在是朝哪边显示的。
  2. 选方向,看预览。往右转四分之一圈、往左转四分之一圈,或者倒过来。第一帧会按你选的方向、用文件将要写进去的同一套算法画出来,所以你看到的就是播放器会做的。只有播放器把片段放横了的时候才勾「烧进画面」;宁愿这段视频没有声音的话,勾上去掉声音。
  3. 旋转,然后读那句写着「已核对」的话。文件头写好,每一帧复制过去,只要几秒;烧进画面要花一次编码的时间,进度条会说到哪了。然后做好的文件会在这里重新打开,它必须跟原来一样长、按你要的方向显示、并且带着它的声音。它在下载按钮下面从内存里播放,你能看到它是正的。

更完整的说明

如何无损旋转视频 手机视频为什么横着播放,文件头九个数字做什么,为什么多数旋转器白白重编码,什么时候该转像素,以及怎样无需上传。

有疑问?

旋转会损失画质吗?

使用文件头旋转时,每一帧画面一个字节不差地复制过去,画质不变。只有把旋转烧进画面才会重新编码画面。AAC 声音原样复制;其他能解码的声音会重新编码为 AAC,除非选择去掉。声音也原样复制时,文件大小几乎不变。

为什么在某个播放器里文件还是横的?

因为那个播放器不理显示矩阵。每一部手机、每一个浏览器、每一个现代播放器和剪辑软件都认它;少数老的桌面播放器不认,直接把存着的帧放出来。勾上「把旋转烧进画面」,帧本身会被转过来并重新编码成 H.264,那样每个播放器放出来都一样,代价是丢一代画质。

往右转四分之一圈是哪边?

顺时针,就是你把手机往右转的时候画面顶部移动的方向。预览会把第一帧按你选的方向画出来,所以挑那个让它看起来是正的按钮,然后按大的那个。

它读哪些文件?

MP4、MOV 和 M4V,里面是什么画面都行,因为写进文件头的旋转不在乎帧是什么。WebM 和 MKV,里面是 H.264 就原样复制帧,其余的烧进画面,因为 MP4 的文件头只能围着 H.264 搭起来。AAC 声音原样复制;Opus、Vorbis、MP3 和 FLAC 重新编码成 AAC;浏览器解不开的声音会点名去掉。结果永远是 MP4。

要多久?

普通的旋转只要几秒:文件读一遍拿布局,写的时候再读一遍,一个 GB 走的是你硬盘的速度。烧进画面要花你的机器编码这段视频所需的时间,有硬件编码器的话(大多数笔记本和近年的每一部手机都有)比视频本身还短;没有的话更慢。

我的视频会被上传到哪里吗?

不会。文件由你自己的浏览器在你自己的硬件上读取、换文件头、重新写出,这一页的 Content-Security-Policy 列出了它可以联系的每一个地址,没有一个属于本站。最简单的自证办法是断开网络照样用。对这么大的文件来说,这也是最快的办法:上传比整件活儿还慢。

手机上能用吗?

能。使用文件头旋转时,画面不解码,直接原样复制;声音可能需要编码为 AAC。做好的文件会放在内存里直到保存,手机通常可以容纳几百兆的结果。把旋转烧进画面还需要编码画面,手机的硬件编码器可以加速。

有大小限制吗?要钱吗?

文件是分块从硬盘读的,所以进来的文件比内存还大也没问题;做好的文件会一直放在内存里直到你下载,而且这里写出的 MP4 不能超过 4 GB。它是免费的,不注册、不登录,也没有试用期。本站带广告,那是养活它的东西;广告拿不到任何关于你视频的内容。

断网能用吗?

能。把页面加载一次,然后断开网络,它照样能用。这也是证明什么都没被上传的最简单的办法:一个把你的视频发出去旋转的工具,你一拔网线它就停了。