项目背景:
防火项目中,视频监控是个重点展示功能,最近的一些防火项目中,遇到了下载历史监控视频无法在浏览器播放的问题。
解决方案:
监控在浏览器无法播放的问题,主要是视频编码不支持,MP4文件只有H264编码格式的,才能在浏览器播放,所以解决方案有两种:
1、要求监控厂商在下载时提供转码服务,这个如果监控厂商是我们的乙方,可以这样要求。
2、对于监控厂商非乙方,不提供转码服务时,只能我们自己编写工具类进行转码,目前java直接执行转码的工具类很少,我这边试了几个,都没成功,直到测试了一种java+视频转码软件 相结合的方法,终于成功,下面对此方法简单介绍。
先对 ffmpeg-release-essentials.7z 解压,解压后使用工具类中的方法:
processVideoFormatH264(String path, String ffmpegPath,String newFilePath) ;
path:需要转码的视频路径,如:D:\video\123456.mp4
ffmpegPath:ffmpeg-release-essentials.7z 解压后,ffmpeg.exe路径,如:D:\ffmpeg\bin\ffmpeg.exe
newFilePath:转码成功后存放的视频路劲,如:D:\video\H264\123.mp4