FFmpeg笔记--vcodec和-c:v,-acodec和-c:a的区别?
在看ffmpeg命令的时候经常会看到有些地方使用--vcodec指定视频解码器,而有些地方使用-c:v指定视频解码器,那这两个有没有区别呢?
ffmpeg的官方文档:
-vcodec codec (output)
Set the video codec. This is an alias for -codec:v.
也就是说-vcodec和-codec:v等价。但是并没有说和-c:v等价啊。看一下-codec:v的文档:
-c[:stream_specifier] codec (input/output,per-stream)
-codec[:stream_specifier] codec (input/output,per-stream)
Select an encoder (when used before an output file) or a decoder (when used before an input file) for one or more streams. codec is the name of a decoder/encoder or a special value copy (output only) to indicate that the stream is not to be re-encoded.
For example
ffmpeg -i INPUT -map 0 -c:v libx264 -c:a copy OUTPUT
encodes all video streams with libx264 and copies all audio streams.
For each stream, the last matching c option is applied, so
ffmpeg -i INPUT -map 0 -c copy -c:v:1 libx264 -c:a:137 libvorbis OUTPUT
will copy all the streams except the second video, which will be encoded with libx264, and the 138th audio, which will be encoded with libvorbis.
也就是说-codec和-c是等价的。所以--vcodec和-c:v是等价的。
文档说明-codec可以为指定的流设置编码器,具体通过stream_specifier来指定。
-ab和-b参数去哪里了?
在看资料的时候发现有些文字中用到了-ab和-b参数,但是官网文档没有这两个参数。。
后来通过ffmpeg- h发现了这两个参数:
-ab bitrate audio bitrate (please use -b:a)
-b bitrate video bitrate (please use -b:v)
可以看出这两个参数分别设定音频比特率和视频比特率,但是已经不推荐使用这种写法了,改为使用-b:a和-b:v。
参考资料
本文独立博客地址:FFmpeg笔记--vcodec和-c:v,-acodec和-c:a的区别? | 木杉的博客
FFmpeg笔记--vcodec和-c:v,-acodec和-c:a的区别?的更多相关文章
- FFmpeg笔记-基本使用
FFmpeg是目前最牛逼的开源跨平台音视频处理工具. 准备知识 我不是音视频编解码出身的,对于这一块非常的不了解,导致在学习FFmpeg的时候云里雾里的,所以学习之前最好看些资料对音视频编解码有点认识 ...
- ffmpeg -i 10.wmv -c:v libx264 -c:a aac -strict -2 -f hls -hls_list_size 0 -hls_time 5 C:\fm\074\10\10.m3u8
ffmpeg -i 10.wmv -c:v libx264 -c:a aac -strict -2 -f hls -hls_list_size 0 -hls_time 5 C:\fm\074\10\1 ...
- FFMpeg笔记(五) 录制小视频时几个问题解决
1. YUV数据在使用avfilter scale时在特定的分辨率下UV分量不对 由于是小视频,那么分辨率不需要太高,但是有的视频源是1080p,甚至有的是4K的,所以对视频源进行scale非常有必要 ...
- FFmpeg笔记:使用MSVC工具链编译Windows版本静态库、动态库
2019年3月开始,为了将音视频编解码功能集成到Cocos2d-x中,开始接触到FFmpeg: 当时开发环境还在Mac下,编译FFmpeg相比现在用Windows平台要方便的多: 最近,公司内部有个U ...
- ffmpeg笔记
1.视频降低质量,减小体积: ffmpeg -i aaa.mp4 -strict -2 -qscale 20 -y outfile.mp4
- FFMpeg笔记(七) 代码结构分析,以HLS为例
HLS流在播放时是先解协议(hls.c)后解封装(mpegts.c),libavformat下的hls.c和mpegts.c实际上是同一个级别的,同属于demuxer. 一.解HLS协议 1. FFm ...
- FFMpeg笔记(六) 滤镜命名规则及使用libavfilter对视频尺寸进行裁切
在ffmpeg框架中,滤镜(filter)功能通过libavfilter库实现. 一个filter可以同时有多个输入和输出.以图为例: 图中的一系列操作共使用了四个filter,分别是 spli ...
- FFMpeg笔记(三) 音频处理基本概念及音频重采样
Android放音的采样率固定为44.1KHz,录音的采样率固定为8KHz,因此底层的音频设备驱动需要设置好这两个固定的采样率.如果上层传过来的采样率不符的话,需要进行resample重采样处理. 几 ...
- ffmpeg笔记——UDP组播接收总结
ffmpeg在avformat_open_input里面已经实现了UDP的协议,所以只需要设置好参数,将url传递进去就可以了. 和打开文件的方式基本一样: 01 AVCodecContext *pV ...
随机推荐
- 你所了解的Java线程池
在jvm中,线程是一个宝贵的资源,创建与销毁都会抢占宝贵的内存资源,为了有效的重用线程,我们用线程池来管理线程,让创建的线程进行复用. JDK提供了一套Executor框架,帮助我们管理线程,核心成员 ...
- 吴裕雄 python 机器学习——数据预处理嵌入式特征选择
import numpy as np import matplotlib.pyplot as plt from sklearn.svm import LinearSVC from sklearn.li ...
- ES-Result window is too large
问题: Result window is too large 解决: PUT http://127.0.0.1:9200/catalog/_settings { "index": ...
- go get下载包失败问题
文章引用自 解决go get下载包失败问题 从github克隆 golang在github上建立了一个镜像库,如https://github.com/golang/net就对应是 https://go ...
- 异常的jvm(java虚拟机)与异常处理try catch与throwable
- 基于SILVACO ATLAS的a-IGZO薄膜晶体管二维器件仿真(07)
今天主要解决一下defect语句: defect region=1 nta=1.55e20 wta=0.013 wtd=0.12 ngd=6.5e16 wga=2 ntd=1.55e20 ngd=0 ...
- winform Anchor和Dock属性
在设计窗体时,这两个属性特别有用,如果用户认为改变窗口的大小并不容易,应确保窗口看起来不显得很乱,并编写许多代码行来达到这个目的,许多程序解决这个问题是地,都是禁止给窗口重新设置大小,这显然是解决问题 ...
- Spring Boot Log 日志使用教程
我们编写任何 Spring Boot 程序,可能绕不开的就是 log 日志框架(组件). 在大多数程序员眼中日志是用来定位问题的.这很重要. 本项目源码下载 注意本项目提供的源码已在后期重新编写,有部 ...
- java 8 list的stream操作 list中的对象中的某一个成员取出转为该成员的list,以及对象过滤,筛选某个属性后的成员
取成员属性list List<String> configList = codeEntityList.stream().map(t -> t.getName()).distinct( ...
- 【原】Docker学习_Docker上传镜像至docker hub(4)
构造镜像的两种方式:1.commit 2.Dockerfile Docker提供了一个docker commit命令,可以将容器的存储层保存下来成为镜像.换句话说,就是在原有镜像的基础上,再叠加上容 ...