FFmpeg压缩音频和添加字幕的命令

news/2024/12/29 7:18:47/

获取流信息

假设采用FFmpeg -i A.mkv输出信息如下:

 Stream #0:0: Video: hevc (Main 10)Stream #0:1(eng): Audio: eac3, 48000 Hz, 5.1(side), fltp, 768 kb/sStream #0:2(chi): Subtitle: ass (default)Stream #0:3(chi): Subtitle: hdmv_pgs_subtitleStream #0:4(eng): Subtitle: subripStream #0:5(eng): Subtitle: subrip

音频编码

 # 使用aac音频编码ffmpeg -i A.mkv -acodec aac -ar 44100 -ac 1 -ab 32k -vcodec libx264 -s 1280x720 -crf 26 A_crf26.mp4​# 使用mp3音频编码ffmpeg -i A.mkv -acodec libmp3lame -ar 44100 -ac 1 -ab 32k -vcodec libx264 -s 1280x720 -crf 26 A_crf26.mp4​# 无损提取aac音频ffmpeg -i A.mkv -vn -acodec copy A.aac​# 将aac音频重新编码为mp3格式ffmpeg -i A.mkv -vn -acodec libmp3lame -ac 2 -ab 160k -ar 48000  A.mp3​# 选择0号输入的第1个视频流,音频部分第1个流ffmpeg -i A.mkv -map 0:0 -map 0:1 -c:v libx264 -crf 25 -c:a aac -ar 44100 -ac 1 A_crf25.mp4

字幕编码

 # 提取字幕流,假设0为视频,1为音频,2为字幕,可以通过FFmpeg -i A.mp4查看流信息ffmpeg -i A.mkv -map 0:2 A.assffmpeg -i A.mkv -map 0:3 A.supffmpeg -i A.mkv -map 0:4 A.srt​# 选择0号输入的第1个视频流,音频部分第1个流,外部加载字幕流ffmpeg -i A.mkv -map 0:0 -map 0:1 -c:v libx264 -crf 25 -c:a aac -ar 44100 -ac 1 -vf "subtitles=A.ass" A_crf25.mp4​#将mkv的第1个视频流,第1个音频流,第1个字幕流合成到视频中去,这种方法会首先提取字幕文件,速度比上面的方法慢ffmpeg -i A.mkv -map 0:0 -map 0:1 -c:v libx264 -crf 25 -c:a aac -ar 44100 -ac 1 -vf "subtitles=A.mkv:si=0" A_crf25.mp4ffmpeg -i A.mkv -map 0:0 -map 0:1 -map 0:3 -c:v libx264 -crf 25 -c:a aac -ar 44100 -ac 1 -c:s mov_text A_crf25.mp4ffmpeg -i A.mkv -i A.srt -map 0:0 -map 0:1 -c:v libx264 -crf 25 -c:a aac -ar 44100 -ac 1 -c:s mov_text A_crf25.mp4

http://www.ppmy.cn/news/372389.html

相关文章

ffmpeg交叉编译报错:aarch64-xxx-linux-gcc is unable to create an executable file. C compiler test failed.

我原先的配置是这样的: ./configure \ --enable-shared \ --enable-static \ --prefix$PWD/_install \ --cross-prefixaarch64-mix210-linux- \ --archarm \ --target-oslinux \ --enable-gpl \ --extra-cflags-I/heop/workspace/hik_h9v1.2_code_20220618/hik_h9v…

Android8.1之MediaCodec编码器support类型(二十四)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药. ​

AE脚本:AE导入SubRip/SRT/TXT/VTT字幕

脚本介绍 如果您需要在视频中嵌入字幕以进行网络或磁带传送,那么这个脚本则非常有用。可以将SubRip/SRT/TXT/VTT字幕格式文件通过 pt_ImportSubtitles脚本直接加载到AE软件中,然后使用alpha渲染并导入编辑软件,或使用动态链接直接导入Premie…

视音频学习入门---ffmpeg篇(四)---基于windows平台的ffmpeg开发(二)

先给自己打个广告,本人的微信公众号:张笑生的地盘,主要关注嵌入式软件开发,股票基金定投,足球等等,希望大家多多关注,有问题可以直接留言给我,一定尽心尽力回答大家的问题。 一 what 在《视音频学习入门—ffmpeg篇(三)—基于windows平台的ffmpeg开发(一)》中,我们已…

ubuntu14.04编译ffmpeg的过程

参考:ubuntu14.04下安装ffmpeglinux安装ffmpeg:ubuntu14.04ffmpeg 1 安装各种依赖包 1.1 yasm(libx264需要依赖yasm) sudo apt-get install yasm 1.2 libx264 sudo apt-get install libx264-dev 1.3 libfaac …

字幕基础:字幕介绍、字幕种类及常见格式

字幕是指电影、电视,以及戏剧、歌剧等舞台作品中出现的各种用途的文字。如版权标识、片名字幕、演(职)员表、说明字幕、歌词字幕、对白字幕等。这些字幕按照影片放映时出现的先后顺序而分为片头字幕、片间字幕和片尾字幕。一般情况下,片头、片尾字幕叠印…

Google ExoPlayer播放器框架详解及应用实践

作者:谭东 我们都知道,音视频的播放处理在各个平台都是一个常用的操作和功能,尤其在移动Android平台音视频播放变得复杂得多,要处理不同操作系统版本间的API差别、软硬件的不同、直播点播流的处理、不同音视频编解码的处理、不同流…

windows 10 vscode cmake ffplay.c 源码编译 2/2

文章目录 一、ffplay.c 源码修改(见上一篇)二、cmdutils.c 源码修改 1.cmdutils.h(见上一篇)2.cmdutils.c(见上一篇)3.configure.h 4.va_copy.h三、cmakefiles.txt(见上一篇) 一、ffplay.c 源码修改 --> 文件名改为 main.cpp 二、cmdutils 代码修改 1.cmdutils.h 2.cmdu…