sh 有用的ffmpeg命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sh 有用的ffmpeg命令相关的知识,希望对你有一定的参考价值。

# 检查坏帧
ffmpeg -y -i 00013633_de.mpg -vf showinfo -frames:v 200 test.mpg
ffmpeg -i A016C001_160112_R6QT.mov -an -vcodec libx264 test.mp4

# 查看Mediainfo
ffmpeg -i test.mp4

# 抽取音频
ffmpeg -i ./00015234.mpg -map 0:2 15234_2.mp3

# 将m3u8下载下来
 ffmpeg -i http://9343.long-vod.cdn.aodianyun.com/u/9343/m3u8/1280x720/720-f70034484d9d71b66f32b6cbb5534126/720-f70034484d9d71b66f32b6cbb5534126.m3u8 -acodec copy -bsf:a aac_adtstoasc -vcodec copy 1.mp4

# 将节目中的视频去掉
ffmpeg -i ./aa.ts -acodec copy -vn  aa_audio.ts

# 分离音视频
ffmpeg -i input_file -vcodec copy -an output_file_video  //提取视频流
ffmpeg -i input_file -acodec copy -vn output_file_audio  //提取音频流

# 转码
ffmpeg -threads 4 -i ./aa.ts -acodec copy -vcodec libx264 -preset placebo -crf 20 aa_20_placebo.mp4

# 节目中的PCM音频转mp3
ffmpeg -i ./mawang\ \(1\)-5.mov -acodec libmp3lame -ab 320k -vcodec libx264 -crf 20 mawang.mp4

# ffmpeg输出重定向到文件
ffmpeg > file 2>&1

# ffmpeg 转码设定gop
ffmpeg  -i ./00024830.mpg -acodec copy -vcodec libx264 -keyint_min 30 -g 30 -sc_threshold 0 -crf 20 aa.mpg

# 将节目信息输出到文本
ffprobe -i <file> >> <output_file> 2>&1

# 从mp4中将视频抽成h264文件
ffmpeg -i 20130312_133313.mp4 -codec copy -bsf h264_mp4toannexb -f h264 20130312_133313.264

说明:

 -i 20130312_133313.mp4 :是输入的MP4文件

-codec copy:从MP4封装中进行拷贝
-bsf: h264_mp4toannexb:从MP4拷贝到annexB封装
-f h264:采用h.264格式
20130312_133313.264:输出的文件名称

# ffmpeg 播放yuv文件
ffplay -f rawvideo -video_size 426x240 -pix_fmt yuv422p ./firestone.yuv

# 将视频转为yuv输出
ffmpeg -i 720P.264 -s 1280x720 -pix_fmt yuv422p 720P-out.yuv

# 查看ffmpeg支持那些yuv格式转换
ffmpeg -pix_fmts

# check audio info
ffmpeg -report -i audio.wav -af ashowinfo -f null /dev/null

# 封装裸码流
ffmpeg -f m4v -i ./dec_in.bin.mpeg4 -vcodec copy dec_in.mp4

# 剪切视频
ffmpeg -i <input> -acodec copy -vcodec copy -ss 00:00:26 -t 00:00:16 <output>

ffmpeg -ss [start] -t [duration] -accurate_seek -i [in].mp4 -codec copy [out].mp4


# 较为精确剪切视频(有转码)
ffmpeg -y -ss start -t duration -I filename -c:v libx264 -preset superfast -c:a copy

ffmpeg -y -ss start -t duration -accurate_seek -i filename codec copy -avoid_negative_ts 1

ffmpeg -ss [start] -t [duration] -i [in].mp4  -c:v libx264 -c:a aac -strict experimental -b:a 98k [out].mp4

# 合并视频
ffmpeg -f concat -i list.txt -c copy concat.mp4
> list.txt 中定义待合并的文件
file ./split.mp4
file ./split1.mp4

# YUV to JPEG
ffmpeg -s 640x480 -pix_fmt yuv420p -i test-yuv420p.yuv test-640x480.jpg

以上是关于sh 有用的ffmpeg命令的主要内容,如果未能解决你的问题,请参考以下文章

ijkplayer编译 Android 版本的 ijkplayer ④ ( 安装 make yasm 软件 | 执行 compile-ffmpeg.sh all 命令编译 ffmpeg )

ijkplayer编译 Android 版本的 ijkplayer ③ ( 执行 compile-ffmpeg.sh clean 命令 | 下载并配置 android-ndk-r10e )

sh 有用的NVM命令

sh 有用的命令

sh Yum RPM有用的命令

sh 有用的git命令