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

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:指定输出文件路径和名称。
相关推荐
上海合宙LuatOS18 小时前
LuatOS核心库API——【hmeta 】硬件元数据
单片机·嵌入式硬件·物联网·算法·音视频·硬件工程·哈希算法
一个人旅程~20 小时前
QQ音乐、potplayer、VLC等对音乐格式的支持和加密文件格式的转换有哪些方法?potplayer的音质相对于VLC有哪些特点?
windows·经验分享·电脑·音视频
音视频牛哥21 小时前
从协议栈到工程落地:SmartMediaKit全链路模块化架构深度解析
音视频·rtsp播放器·rtmp播放器·安卓rtsp服务器·安卓轻量级rtsp服务·安卓rtsp摄像头推流·安卓摄像头rtmp推流
奔跑吧 android1 天前
【车载Audio】【AudioHal 04】【高通音频架构】【从 AHAL adev_open 到 PAL XML 解析:30微秒内的调用链深度追踪】
音视频·audiohal·车载audio·高通音频架构·ahal·audiofinger
REDcker1 天前
FFmpeg完整文档
linux·服务器·c++·ffmpeg·音视频·c·后端开发
linux_cfan1 天前
WordPress 视频播放痛点解决方案:支持 RTSP/WebRTC 与字幕检索的 ZWPlayer 插件实测
php·音视频·webrtc
硬汉嵌入式1 天前
QEMU & FFmpeg作者Fabrice Bellard推出MicroQuickJS,一款面向嵌入式系统JavaScript引擎,仅需10K RAM
javascript·ffmpeg·microquickjs
AI周红伟2 天前
周红伟:字节官方发布Seedance 2.0 视频模型,技术实现过程和 技术分解
音视频
查无此人byebye2 天前
实战DDPM扩散模型:MNIST手写数字生成+FID分数计算(完整可运行版)
人工智能·pytorch·python·深度学习·音视频
九丝城主2 天前
1V1音视频对话2--Web 双浏览器完整通话测试(强制 relay)
前端·音视频