怎么快速又方便的旋转视频

背景:当你在看某片时,发现视频视角是"---"这样的,而更好的观感视角是 "|"这样的,为了旋转视频,你下载了各种编辑软件,但,不是付费的就是非常耗时,而且转换的像素还不好,怎么方便操作便成了你心结?

利用FFmpeg 视频旋转功能,并启用多线程的方式加快视频的处理:

java 复制代码
ffmpeg -threads 4 -i input.mp4 -vf "transpose=1" -metadata:s:v:0 rotate=90 output.mp4
  • ffmpeg: FFmpeg命令行工具的名称,用于处理音视频文件。

  • -threads 4: 用于设置FFmpeg使用的线程数。在这个例子中,设置为4,表示使用4个线程来处理视频。

  • -i input.mp4: 输入文件的路径和名称。-i用于指定输入文件。

  • -vf "transpose=1": 视频过滤器选项,用于对视频进行旋转操作。transpose=1表示将视频逆时针旋转90度。

  • -metadata:s:v:0 rotate=90: 这是设置视频元数据的选项,用于设置视频旋转的角度。:s:v:0表示设置视频流的第一个流的元数据。在这个例子中,设置视频旋转角度为90度。-metadata:s:v:0 rotate=90的作用是将输出视频文件的第一个视频流(索引为0)的旋转角度元数据设置为90度。这是为了确保播放器在播放视频时能够正确地根据旋转角度进行渲染。通常情况下,如果视频被旋转了,但是没有正确地设置旋转元数据,播放器可能会错误地显示视频。因此,通过设置旋转元数据,可以确保视频在播放时以正确的方向显示。

java 复制代码
        try {
            // 构建FFmpeg命令
            ProcessBuilder builder = new ProcessBuilder(
                    ffmpegPath,
//                    "-threads", "4", // 设置线程数为4
                    "-i", inputVideo,
                    "-vf", "transpose=1",
                    "-metadata:s:v:0", "rotate=90",
                    outputVideo
            );


            // 启动进程并等待命令执行完成
            builder.inheritIO();// 将FFmpeg输出重定向到Java的标准输出
            Process process = builder.start();
            process.waitFor();
            System.out.println("Watermark added successfully!");

            // 打印命令执行结果
            if (process.exitValue() == 0) {
                System.out.println("FFmpeg command executed successfully.");
            } else {
                System.out.println("FFmpeg command failed.");
            }
        } catch (IOException | InterruptedException e) {
            e.printStackTrace();
        }
相关推荐
小美哥13145 小时前
格式工厂转换视频很慢、Pr视频剪辑导出很慢的优化设置(就用显卡的默认设置即可)
音视频·格式工厂
宠友信息8 小时前
仿小红书短视频APP源码:Java微服务版支持小程序编译的技术解析
java·微服务·音视频
QMCY_jason9 小时前
ubuntu 24.04 FFmpeg编译 带Nvidia 加速记录
linux·ubuntu·ffmpeg
bylander12 小时前
【论文阅读】通义实验室,VACE: All-in-One Video Creation and Editing
论文阅读·人工智能·计算机视觉·音视频
Black蜡笔小新12 小时前
破解工地防盗难题:如何利用EasyCVR实现视频监控统一管理?
运维·音视频
eqwaak012 小时前
动态图表导出与视频生成:精通Matplotlib Animation与FFmpeg
开发语言·python·ffmpeg·音视频·matplotlib
执尺量北斗13 小时前
LinkMate 智能会议室系统:基于 Qt / QML / WebRTC / FFmpeg / Whisper / OpenGL 的实时音视频会议平台
qt·ffmpeg·webrtc
Enabler_Rx17 小时前
AI辅助制作宣传视频
音视频
PhoenixAI817 小时前
保姆级教程-剪映多视频融合及识别文字转换方法
音视频
liaomin4161005691 天前
transformers音频实战02-基于 Speech Commands 数据集的语音识别实战项目全流程
人工智能·音视频·语音识别