利用ffmpeg从视频中提取纯(音频、视频、字幕)再合成视频

server/2024/10/22 7:20:36/

1. 提取纯音频

ffmpeg -i rawVideo.mp4 -acodec copy -vn vnVideo.aac
或者
ffmpeg -i rawVideo.mp4 -c:a copy -vn vnVideo.aac-vn: v代表视频,n代表no,无视频的意思
-acodec copy: 音频只拷贝,不编解码
-acodec的缩写-c:a
-codecd的缩写-c

2. 提取纯视频(含字幕)

ffmpeg -i rawVideo.mp4 -vcodec copy -an anVideo.mp4
或者
ffmpeg -i rawVideo.mp4 -c:v copy -an anVideo.mp4-an: a代表音频,n代表no,无音频的意思。
-vcodec copy: 视频只拷贝,不编解码
-vcodec的缩写-c:v(codec of video) mp4默认使用的是h264(视频编码器),使用-c:v libx265(视频编码器)生成同等质量、文件更小的h265视频
-codec的缩写-c

3. 提取纯字幕

错误:报错信息:Output file #0 does not contain any stream
ffmpeg -i rawVideo.mp4 -c:s copy subtitle.srt
上述命令行只适用于 内挂字幕的视频文件,不适用于内嵌字幕视频文件
-c:s:与上述视频流类似,是字幕流
未找到解决方案

4. 纯视频与纯音频合成视频

错误:
ffmpeg -i anVideo.mp4 -i vnVideo.aac -vcodec copy -acodec copy newVideo.mp4
虽可以生成newVideo.mp4,但打开只是一张图片
原因:https://blog.csdn.net/qq_33349051/article/details/104061630
改正:
ffmpeg -i anVideo.mp4 -i vnVideo.aac -vcodec copy -acodec copy -bsf:a aac_adtstoasc newVideo.mp4-bsf:a aac_adtstoasc: 音频数据是AAC流,在解码时需要另外一种写法:
错误1:	
ffmpeg -i anVideo.mp4 -i vnVideo.aac -vcodec copy -acodec copy acc -strict experimental newVideo.mp4
错误2:
ffmpeg -i anVideo.mp4 -i vnVideo.aac -c:v copy -c:a copy aac -strict experimental newVideo.mp4
改正:
ffmpeg -i anVideo.mp4 -i vnVideo.aac -c:v copy -c:a aac -strict experimental newVideo.mp4-i anVideo.mp4:指定视频文件路径。-i vnVideo.aac:指定音频文件路径。
-c:v copy:将视频流复制到输出文件中,不进行重新编码。
-c:a aac:使用AAC编码音频流。 不能-c:a copy 音频需要重新编码
-strict experimental:启用实验性AAC编码器。
newVideo.mp4:指定输出文件路径和名称。

http://www.ppmy.cn/server/48262.html

相关文章

ChatGPT

ChatGPT是一款由OpenAI开发的人工智能助手,它能够通过自然语言处理技术与用户进行交互,提供各种服务和帮助。在这篇博客中,我们将探讨ChatGPT的工作原理、优势以及它在未来可能的应用领域。 首先,让我们来了解一下ChatGPT的工作原…

网络框架netpoll中的SO_ZEROCOPY

背景了解 https://www.163.com/dy/article/FS6AS7SS0518R7MO.html https://docs.kernel.org/networking/msg_zerocopy.html send() with MSG_ZEROCOPY kernel v4.14 版本接受了来自 Google 工程师 Willem de Bruijn 在 TCP 网络报文的通用发送接口 send() 中实现的 zero-cop…

2021 hnust 湖科大 操作系统课设 报告+原代码+指导书+流程图源文件

2021 hnust 湖科大 操作系统课设 报告原代码指导书流程图源文件 详情 目录 验证类实验: 1 实验一:Windows进程管理 1 一、 实验题目: 1 二、 实验目的 1 三、 实验内容 1 四、 实验结果与分析 2 五、 小结与心得体会 5 实验二:L…

综合型驱鸟装置:光伏电站集束冲击波驱鸟器

光伏电站作为绿色、清洁的能源生产方式,正在全球范围内得到快速发展。在光伏电站的建设和运营过程中,鸟类活动所带来的影响逐渐凸显,成为电站管理者需要面对的重要问题。在此背景下,光伏电站驱鸟器的需求也不断增长。 目前市场上的…

系统提示xlive.dll丢失有什么解决办法?详细解决办法介绍

如果你曾经在玩那些超酷的大型游戏时遇到过xlive.dll文件丢失的问题,那么你来对地方了!这篇文章将带你一步步学习如何修复这个烦人的xlive.dll文件缺失问题。不仅如此,我们还会分享一些超级重要的注意事项,确保在修复过程中不会引…

Spring Boot 常用注解

1. 启动类注解 SpringBootApplication: 它是 Spring Boot 的核心注解,包含了 SpringBootConfiguration、EnableAutoConfiguration 和 ComponentScan 三个注解。SpringBootConfiguration:标注当前类为配置类,类似于 Spring 的 Configuration 注…

使用JMeter软件压测接口配置说明

1、下载完该软件https://blog.csdn.net/wust_lh/article/details/86095924 2.点击bin文件中jmeter.bat脚本https://blog.csdn.net/wust_lh/article/details/86095924 3.官网地址https://jmeter.apache.org/download_jmeter.cgi 通过 【Options】->【Choose Language】变更为…

使 C# 定义的接口能够被 Java 客户端调用

要使 C# 定义的接口能够被 Java 客户端调用,需要确保你的 C# 应用程序能够通过 HTTP 请求对外暴露 API,并且正确配置服务器和项目设置。以下是具体步骤: 1. 确保 C# API 可供访问 确认 C# API 是可通过 HTTP 访问的,通常使用 ASP…