ffmpeg 代码理解
命令解析
ffmpeg -i F:\片源\HD_264\大丈夫_01.ts -vcodec libx264 -acodec aac -b:v 8000k -b:a 128k -f flv myoutput.flv -vcodec libx265 -acodec mp3 -b:v 4000k -b:a 96k -f mpegts myoutput.ts
对于此命令的解析结果为
input file结构体内容
命令
-i F:\片源\大丈夫_01.ts -filter_complex split=outputs=1:[proxy0];[proxy0]scale=1920:1080[out0] -profile:v high -level 50 -b:v 8000000 -pix_fmt yuv420p -r 25 -map [out0]:v:0 -vcodec libx264 -b:a:0 96k -ar:a:0 48000 -ac:a:0 2 -codec:a:0 mp2 -map 0:a:0 -f mpegts output.ts -loglevel debug
命令
ffmpeg -i F:\片源\大丈夫_01.ts -filter_complex split=outputs=2:[proxy0][proxy1];[proxy0]scale=1920:1080[out0] -profile:v high -level 50 -b:v 8000000 -pix_fmt yuv420p -r 25 -map [out0]:v:0 -vcodec libx264 -b:a:0 96k -ar:a:0 48000 -ac:a:0 2 -codec:a:0 mp2 -map 0:a:0 -f mpegts output.ts -map [proxy1]:v:0 -vcodec libx265 output.mp4 -stats
解析完filter之后得到一个AVFilterGraph对象
AVFilterGraph中存储的共有多少个filter,每个filter是一个AVFilterContext对象
AVFilterContext中的内容
第二个filter信息
导出的输出接口
和上面不是同义词调试
解析完filter之后,会把输入和Filter进行关联