news 2026/8/30 9:35:40

3 步完成 you-get 竖屏视频旋转修复

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
3 步完成 you-get 竖屏视频旋转修复

3 步完成 you-get 竖屏视频旋转修复

【免费下载链接】you-get:arrow_double_down: Dumb downloader that scrapes the web项目地址: https://gitcode.com/GitHub_Trending/yo/you-get

用 you-get 下载的竖屏视频在播放器里横躺,多半是方向元数据丢了。you-get 负责把视频拿下来,FFmpeg 的 transpose(画布旋转滤镜)负责把方向掰正,这套 you-get 竖屏视频旋转修复 组合三步就能跑通。

先搞懂原因:方向写在元数据里,不在画面里

竖屏视频的像素存储往往仍是横屏的,元数据里记录了一个旋转参数(90 或 270),播放器靠它来转正显示。网站转码时这条方向信息容易丢失,或个别播放器干脆忽略,于是画面横躺。对策是把旋转直接烧进像素:用 transpose 滤镜重新编码一次,方向从此固定。

三步跑通旋转修正:下载、查角度、转回来

  1. 确认 FFmpeg 已安装且在 PATH 里
  2. 用 you-get 把视频下载到本地
  3. 用 ffprobe 查角度,再用 ffmpeg transpose 转回来

第 1 步:确认 FFmpeg 在场且被识别

先跑这条命令看下输出:

# 能输出版本号即正常 ffmpeg -version

未安装的话按平台处理:

平台安装方式
Ubuntu/Debiansudo apt install ffmpeg
macOSbrew install ffmpeg
Windows从 FFmpeg 官网下载并加入 PATH

⚠️ 如果报 "FFmpeg not installed",多半是路径没进 PATH:启动时 you-get 会依次尝试 ffmpeg 与 avconv 并校验版本号,两个都失败就判定不可用。这段检测与流处理逻辑集中在 src/you_get/processor/ffmpeg.py(FFmpeg 调用与检测),检查环境变量即可。

第 2 步:用 you-get 把视频拿下来

# -o 指定保存目录,URL 换成你要下载的视频页面 you-get -o ./downloads "https://example.com/video-page"

you-get 先从页面解析出真实地址,流媒体站点则直接交给 FFmpeg 落盘:入口在 src/you_get/common.py(下载入口),随后调用ffmpeg_download_stream拼装命令,默认带-c copy不重编码。所以下来的文件是干净的,不影响下一步修方向。

⚠️-p可以把流直接喂给播放器在线看,但那条路不落文件,后面的旋转修复没有操作对象;要修方向,先落盘是前提。

第 3 步:查角度,再用一条 ffmpeg 命令转回来

先读文件里写的旋转标签:

# 输出 90 或 270 说明方向被元数据记录 ffprobe -v error -show_entries stream_tags=rotate -of default=noprint_wrappers=1:nokey=1 input.mp4

输出 90 就配 transpose=1,输出 270 就配 transpose=2。以顺时针 90° 为例:

# 顺时针转 90°;-c:a copy 音频直接复制,避免无声音 ffmpeg -i input.mp4 -vf transpose=1 -c:a copy -y output.mp4

执行完,output.mp4 的像素本身就是正的了,任何播放器播放都不再依赖元数据。

⚠️ transpose 属于视频滤镜,必须重编码视频流,担心画质可在输出文件名前加-crf 23控制损耗。-c:a copy务必保留,漏掉会让音频跟着重编码,部分格式直接没声音或报错。

FFmpeg transpose 参数:四个取值速查

取值效果什么时候用
0顺时针 90° + 垂直翻转转完 90° 后发现上下颠倒
1顺时针 90°rotate 标签为 90,最常见
2逆时针 90°rotate 标签为 270
3逆时针 90° + 垂直翻转转完 270° 后发现上下颠倒

💡 不用背:先跑一遍打开看看,方向不对就换相邻取值重跑,输出是另一个文件名,原文件不受影响。

用 ffprobe 查看旋转角度并批量修正

多个文件方向不对时按同一套循环处理:先对每个文件跑第 3 步的 ffprobe 命令读 rotate 值,90 配 transpose=1、270 配 transpose=2,再逐个执行旋转命令。you-get 内置的 ffprobe 调用只用来读取播放时长之类的信息,不会改写旋转元数据,所以"查角度—转回来"这段交给 ffmpeg 侧完成,you-get 只负责把下载这一环扛下来。

一条 ffprobe 读角度,一条 ffmpeg 转回来,这条 you-get 竖屏视频旋转修复 的主线到此跑完,方向从此归位,无需再手动调播放器。

【免费下载链接】you-get:arrow_double_down: Dumb downloader that scrapes the web项目地址: https://gitcode.com/GitHub_Trending/yo/you-get

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/30 9:34:51

Plane 项目管理上手指南:自托管部署与核心工作流完整教程

Plane 项目管理上手指南:自托管部署与核心工作流完整教程 【免费下载链接】plane 🔥🔥🔥 Open-source Jira, Linear, Monday, and ClickUp alternative. Plane is a modern project management platform to manage tasks, sprints…

作者头像 李华
网站建设 2026/8/30 9:34:25

2026 Java AI面试核心考点:从基础到RAG与Agent实战攻略

2026 年的 Java 面试,已经不是“背熟八股文就能过”的版本了。如果你还在只看 HashMap、JVM、Spring 循环依赖,大概率会在场景题和 AI 应用题上被卡住。现在招聘市场上明显能感觉到一个趋势:Java 基础仍然要考,但 AI、大模型、Age…

作者头像 李华
网站建设 2026/8/30 9:34:21

用Python从零实现愤怒的小鸟:物理模拟与碰撞检测全解析

简介:本资源是基于Python实现的经典物理弹射类游戏《愤怒的小鸟》完整开源项目,面向具备基础Python编程能力的学习者,用于深入理解游戏开发中的物理模拟、碰撞检测、图形渲染与面向对象设计等核心实践。压缩包共77个文件,包含39张…

作者头像 李华
网站建设 2026/8/30 9:31:11

AI决策审计服务:构建可观测、可审核、可回滚的系统设计

AI 的能力边界在快速刷新,但比模型能力更值得讨论的,是使用 AI 的人如何在不确定中做出判断。历史学家尤瓦尔赫拉利在关于 AI、人类愚蠢与文明未来的访谈中反复提醒一件事:AI 是历史上第一个能够自主做出决策,并独立生成观点、作品…

作者头像 李华