FFmpeg转码mp4
2019-12-02 13:24:39
70次阅读
0个评论
用ffmpeg转码把其他格式转换成mp4 然后做在线播放。
在其他平台各个都可以用但是在iOS上有时候不行 这是因为音频的压制不对。。。iOS下得aac

ffmpeg -i test.mkv -vcodec libx264 -crf 25 -y -vf "scale=1280:-2" -acodec aac -y  a.mp4 




用这个压制出来的宽1280分辨率 crf25 的mp4
crf越大文件越小,视频质量越差。

在各个平台下是都能播放的


scale=1280:-2  宽度分辨率是1280 高度随着宽度的改变而共同改变
视频的高度不能为单数 所以是-2
如果是-1 那样有些视频本来的高度变换后可能是单数导致转码失败 

旧的h264 都需要偶数尺寸,其他不一定,YUV420P格式的H264如果长宽中有奇数,会出现转码错误。RGB格式的h264则没有这种限制。建议都把要求把宽,高设定为16的倍数


压制完如果想再转成m3u8 的ts只要用hls切一下 立马就好了[因为已经是h264的视频了]

ffmpeg -i a.mp4 -vcodec copy -acodec copy -f hls  -hls_time 10 -hls_list_size 0  -y  a.m3u8 




-hls_time 设置每一段切片的时长,这里是10秒一个切片。

收藏 0 0

登录 后评论。没有帐号? 注册 一个。

程序王

  • 0 回答
  • 0 粉丝
  • 0 关注