当前位置: 首页 > news >正文

you-get 竖屏视频旋转修复:一键拉正歪斜的视频方向

you-get 竖屏视频旋转修复:一键拉正歪斜的视频方向

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

手机拍的竖屏视频下回电脑上,人直接躺平了——画面横倒,怎么拖都歪着。这是典型的视频方向错误:方向信息丢了,播放器只能按原始帧展示。你不需要手动调播放器,you-get 搭配 FFmpeg 就能完成竖屏视频旋转修复,画面转正,声音和画质基本不损失。

一条命令快速上手 🔧

打开终端,对任意一个躺倒的视频文件运行下面这条命令:

ffmpeg -i lying.mp4 -vf transpose=1 -c:a copy fixed.mp4

-vf transpose=1把画面顺时针转 90°,-c:a copy让音频原样带过去、不重新压缩。命令跑完,打开fixed.mp4看一眼,方向正常就收工。

原理速览:旋转标签是怎么丢的

竖屏视频的底帧大多是横着存的,文件里带一个 90°/270° 的旋转标签(即元数据,相当于贴在文件上的"播放时请转正"便条),播放器靠它摆正画面。部分网站转码时把这张便条撕掉了,播放器只好按原始帧横着放。修复的本质就是本地补一次旋转。you-get 下载后由 FFmpeg 接管处理链,读流、合并的底层逻辑都在 src/you_get/processor/ffmpeg.py 第 240 行的ffmpeg_download_stream里。

三种场景的转正姿势 🎯

边下边修(推荐)

适用于刚发现某条竖屏视频要保存、想一步拿到方向正确的文件:

you-get "视频页面URL" ffmpeg -i 已下载的视频.mp4 -vf transpose=1 -c:a copy fixed.mp4

先让 you-get 下载,再对文件补转,两步都是本地命令,互不干扰。

给已下好的文件补救

适用于视频早已躺在本地、播放才发现歪了。先用 ffprobe 确认旋转值(ffprobe 是 FFmpeg 自带的文件信息查看工具):

ffprobe -v error -show_entries stream_tags=rotate -of default=noprint_wrappers=1:nokey=1 lying.mp4

输出90对应transpose=1,输出270对应transpose=2

ffmpeg -i lying.mp4 -vf transpose=2 -c:a copy fixed.mp4

transpose 参数速查:

取值效果
0顺时针 90° 再垂直翻转
1顺时针 90°
2逆时针 90°
3逆时针 90° 再垂直翻转

整批文件一次搞定

适用于下载目录里有一堆方向不对的文件,批量循环处理:

for f in *.mp4; do ffmpeg -i "$f" -vf transpose=1 -c:a copy "fixed_$f" done

想按真实角度分支,见下一节的自动检测脚本。

自动检测旋转标签 🤖

不想逐个用 ffprobe 肉眼核对的话,把读取和分支写成一个 bash 脚本:

#!/bin/bash # fix-rotate.sh 用法:bash fix-rotate.sh 视频文件 rotate=$(ffprobe -v error -show_entries stream_tags=rotate -of default=noprint_wrappers=1:nokey=1 "$1") if [ "$rotate" = "90" ]; then ffmpeg -i "$1" -vf transpose=1 -c:a copy "fixed_$1" elif [ "$rotate" = "270" ]; then ffmpeg -i "$1" -vf transpose=2 -c:a copy "fixed_$1" else echo "no rotate tag, skip $1" fi

stream_tags=rotate换成其他标签名,同一套分支结构就能复用到别的元数据字段上。

踩坑排查 ⚠️

  • 现象:转完的文件没有声音。原因:输出端漏了音频处理方式,音频被默认链路处理掉了。解法:命令里固定带上-c:a copy;you-get 合并视频分片时的同类做法见 src/you_get/processor/ffmpeg.py 第 261 行。
  • 现象:执行报错说找不到 ffmpeg,但明明装过。原因:安装目录不在 PATH 里,探测直接失败。解法:先跑ffmpeg -version确认能输出版本号,不行就重新安装;you-get 的版本探测逻辑在 src/you_get/processor/ffmpeg.py 第 19 行的get_usable_ffmpeg,装好后重启终端再试。
  • 现象:转完的画面比原来糊。原因:旋转必须重压视频流,默认编码档位在老片子上会掉质量。解法:加-crf 23(CRF 是 FFmpeg 的画质档位,数字越小越接近原片):
ffmpeg -i lying.mp4 -vf transpose=1 -crf 23 -c:a copy fixed.mp4

下载交给 you-get,转正交给 FFmpeg,一条-vf transpose让歪掉的竖屏视频回到正位。现在就去终端里转平你第一个躺倒的视频吧。

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

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

http://www.cnnetsun.cn/news/4306882.html

相关文章:

  • 合规开源技术分享指南:从本地AI到OCR与API服务
  • Project NOMAD按症状找药:从烧伤、发热到腹泻的OTC匹配完全指南
  • 复盘2017腾讯校招笔试题:考点、陷阱与底层能力解析
  • STM32H7R7编译报错排查实战:从环境配置到链接脚本
  • VLA时间建模:从固定窗口到流式状态,解锁实时控制
  • STM32CubeIDE与CubeProgrammer协同调试全攻略
  • 从研发笔试题看视频平台技术岗:C++内存、TCP与高并发考点全拆解
  • Windows下MySQL下载安装与配置详解:Installer与ZIP双方案
  • 基于Flink构建电商实时分析平台:从用户行为到实时画像的完整实践
  • 数字生命线网络复原力搭建实战|通信基建、AI自愈、应急组网全方案
  • 搜狐2017秋招研发笔试题解析:校招笔试考点与复习策略
  • 基于SpringBoot的智慧课堂管理系统的设计与实现(毕设源码+文档)
  • USB PD EPR与Sink控制器:从100W到240W的硬件设计实战
  • 运放选型到调试:误差预算、经典电路与增益调整实战指南
  • 揭秘Anthropic-Cybersecurity-Skills:817个AI网络安全技能如何重塑安全分析工作流
  • 心智世界建模MWM:从预测下一帧到推断他人意图
  • LLM显著性偏差:为什么模型总被显眼信息带偏?
  • 许昌空调维修正规服务怎么选?欧米到家全区域及代码故障检修
  • oh-my-pi /review 代码审查完整指南:P0 到 P3 优先级排序,一键裁决代码能否发布
  • 工程流程自动化的实施边界
  • STM32H7 SAI到DTCM数据搬运失败?HPDMA配置与MPU排查指南
  • 音游进阶:别再靠感觉,用数据评估你离“W5”还差什么
  • OpenCV+PyQt5实现课堂抬头率检测系统:从人脸检测到姿态估计
  • LX Music 桌面版:一个免费聚合多音源的音乐搜索播放器
  • Docling 文档解析:让 200 份 PDF 变 RAG 就绪只需 3 行代码
  • 旅行者1号FDS模拟器:探秘老式航天计算机的指令级仿真
  • S2-LP驱动外部PA:从14dBm到27dBm的射频设计实战
  • vLLM的C++实现:从PagedAttention到KV Cache管理实战
  • K3I-Core:从内核隔离到硬件级否决开关的安全架构解析
  • 大厂AI工程师被裁背后:可迁移的AI工程化能力才是护城河