参考资料: https://addpipe.com/blog/flv-to-mp4/
ffmpeg -i demo.mp4 -c:v libx264 -crf 19 demo.flv 或者
ffmpeg -i demo.mp4 -c:v libx264 -ar 22050 -crf 28 demo.flv 或者
ffmpeg -i demo.mp4 -c:v copy -c:a copy demo.flv
批量处理多个文件
ls *.mp4 | cut -d"." -f1 | xargs -t -i ffmpeg -i {}.mp4 -c:v libx264 -ar 22050 -crf 28 {}.flv ls *.rmvb | cut -d"." -f1 | xargs -t -i ffmpeg -i {}.rmvb -c:v libx264 -ar 22050 -crf 28 {}.flv
附加:录屏
ffmpeg -r 30 -f x11grab -s 1920x1080 -i :0.0 -qscale 1 demo.flv 说明: 捕捉整个屏幕 -f x11grab -i :0 捕捉指定窗口 xwininfo 获取左上角窗口坐标,比如 809x518 +1100+531 ffmpeg -r 30 -f x11grab -s 809x518 -i :0.0+1100,531 -qscale 1 demo.flv 其中 :0.0+1100,531 表示距离编号为0的屏幕 左1100右531
转 hls (参考)
单行
ffmpeg -i B2.mp4 -vf scale=w=1280:h=720:force_original_aspect_ratio=decrease -c:a aac -ar 48000 -b:a 128k -c:v h264 -profile:v main -crf 20 -g 48 -keyint_min 48 -sc_threshold 0 -b:v 2500k -maxrate 2675k -bufsize 3750k -hls_time 10 -hls_playlist_type vod -hls_segment_filename B2/720p_%03d.ts -hls_key_info_file key_info B2/playlist.m3u8
多行
ffmpeg -i B2.mp4
-vf scale=w=1280:h=720:force_original_aspect_ratio=decrease
-c:a aac -ar 48000 -b:a 128k -c:v h264 -profile:v main
-crf 20 -g 48 -keyint_min 48 -sc_threshold 0 -b:v 2500k
-maxrate 2675k -bufsize 3750k -hls_time 10
-hls_playlist_type vod -hls_segment_filename B2/720p_%03d.ts
-hls_key_info_file key_info B2/720p.m3u8
命令执行前准备:
创建一个文件夹 B2
B2.mp4(源文件)
创建文件 key_info (提供远程地址与本地地址)
http://localhost:8181/encrypt/video.key
video.key
创建文件 video.key(AES-128 in CBC mode)(http://tool.chacuo.net/cryptaes)
UWlkFn56SgYui9vTHFsnfg==
end