用FFMPEG 将mp4 转Codec Profile Leve
2017-07-29 本文已影响18人
thebestofrocky
原视频:twerk.mp4 640 * 640, codec profile: main@L3.0, audio 1 channel
目标视频:result.mp4 480 * 480, codec profile baseline@L3.0, audio 2 channels
思路:
1.将视频先缩放至480 * 480;
2.再将codec profile转成baseline@L3.0;
3.将audio与video分离;
4.将音频转成双声道;
5.将双声道音频再与分离后的视频合成。
注意:twerk.mp4必须放在 /Users/username文件夹下,生成的result.mp4也在这个文件夹下。
方法一:
将所有ffmpeg命令写成一个sh脚本,一次性执行:
./scale.sh twerk.mp4 result.mp4
scale.sh内容如下:
#!/bin/sh
scale="scale.mp4"
base="base.mp4"
video="video.mp4"
audio="audio.aac"
audio2="audio2.aac"
ffmpeg -i $1 -vf scale=480:480 $scale
ffmpeg -i $scale -profile:v baseline -level 3.0 $base
ffmpeg -i $base -vcodec copy -an -y $video
ffmpeg -i $1 -acodec copy -vn -y $audio
ffmpeg -i $audio -ac 2 $audio2
ffmpeg -i $video -i $audio2 -vcodec copy -acodec copy -absf aac_adtstoasc -y $2
方法二:
1.缩放至480 * 480
ffmpeg -i twerk.mp4 -vf scale=480:480 scale.mp4
2.转成baseline@L3.0
ffmpeg -i scale.mp4 -profile:v baseline -level 3.0 base.mp4
3.提取视频
ffmpeg -i base.mp4 -vcodec copy -an -y video.mp4
4.提取音频
ffmpeg -i twerk.mp4 -acodec copy -vn -y audio.aac
5.音频转双声道
ffmpeg -i audio.aac -ac 2 audio2.aac
6.合并音视频
ffmpeg -i video.mp4 -i audio2.aac -vcodec copy -acodec copy -absf aac_adtstoasc -y result.mp4