怎么把mp4转为h264编码?


chrome 中 html5的video标签不能播放mp4(黑屏,但能听到声音),网上说需要h264,求助怎么转换为h264?


 <video controls="controls" autoplay="autoplay">
              <source src="http://www.w3school.com.cn/i/movie.mp4" type="video/mp4" />
              <source src="/cms/text.mp4" type="video/mp4" codecs="avc1.42E01E, mp4a.40.2" />
            Your browser does not support the video tag.
            </video>

html5 mp4 ffmpeg

ThomasL 9 years, 10 months ago

可以尝试使用FFMPEG来进行转码,普及一个知识,我们常说的格式,比如文件test.mp4,只能说明他的容器的格式是MP4,但是视频编码(codec)的格式是什么还不知道,需要使用工具去查看,比如MediaInfo.一般来说,MP4的文件codec是MPEG4,也可以是H.264。如果需要转码的话,就需要转码器,硬件或者软件的都可以,一般开发的话使用FFMPEG就可以了:

分两步走
第一步生成临时文件:


 ffmpeg -i input.mp4 -y input.temp.wav -s 640x360 -pix_fmt yuv420p -f rawvideo -y - | x264 --profile baseline --level 3 --keyint 25 --bitrate 512  --sar 1:1 --output input.temp.264 - 640x360

第二步,合成:


 ffmpeg -i input.temp.wav  -f h264 -i  input.temp.264  -y -vcodec copy -acodec libfaac -ab 50k output.mp4

可以参考一下 FFMPEG生成高质量的h264编码视频 ffmpeg常用基本命令

尼古拉.特斯拉 answered 9 years, 10 months ago

Your Answer