用ffmpeg gpu进行转码失败,求解答

拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
揭阳精易科技有限公司申明:我公司所有的培训课程版权归精易所有,任何人以任何方式翻录、盗版、破解本站培训课程,我们必将通过法律途径解决!
公司简介:揭阳市揭东区精易科技有限公司致力于易语言教学培训/易语言学习交流社区的建设与软件开发,多年来为中小企业编写过许许多多各式软件,并把多年积累的开发经验逐步录制成视频课程供学员学习,让学员全面系统化学习易语言编程,少走弯路,减少对相关技术的研究与摸索时间,从而加快了学习进度!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话,QQ: ,邮箱:@

ffmpeg 转码mp4视频时,由于视频录制有问题(可能是丢帧过多),转码无法完成,处理卡住无法退出,CPU一直飙在100%。

1. ffmpeg能否在转码前判断文件是否可以正常转码?
目的:不能正常转码时不进行转码处理
2. 批处理转码过程中遇到这种问题时,怎样判断/中断操作?
目的:避免由于任务卡死、CPU飙高等原因影响其他服务。

今天下午,科校长在观摩中心以视频直播的方式为高三年级全体学生讲授语文课,信息中心提前将直播端和客户端都准备好,保障活动顺利进行。

同时,我们将活动过程全程录像,并且将视频流录制视频片段及时发布到教师群。那么流媒体视频是如何进行处理的呢,请大家往下看。

一、校园网视频直播简述

观摩中心三路摄像机信号和一路计算机屏幕高清信号首先通过视频导播台切换,再通过视频编码器编码后网络推送,输出RTMP视频流。后经Nginx服务器进行视频转发后在各班级通过客户端或浏览器读取视频流实现视频直播。

1、校园网视频流格式为“rtmp://:1935/channel/c01”,端口号使用1935,为了进行视频流处理,我们在Ubuntu系统上安装FFmpeg软件,成功配置后使用如下命令可以完成视频流录制。

指令解释:将视频流录制1分钟,同时转换为Mp4格式后保存为mymovie.mp4视频文件。

2、录制成功后的视频分辨率为视频源原始分辨率,达到高清,体积较大,不便于在微信群中发布(微信视频限制为25M),为此我们需要将视频调整分辨率,适当降低视频码率,此时我们调整为720*480、450k、Mp4视频格式,使用如下命令(命令通过Php程序代码调用,请阅读注释)

视频流此时将被调整分辨率,经测试在手机端能清晰观看。

3、最终发布前我们还可以在视频上添加水印,使用学校校徽图片,以放置在左上角举例,使用指令代码示例。

指令解释:原始视频调整分辨率到,码率876k,25帧,同时在坐标140:10的位置添加logo.png作为水印,输出为out.mp4文件,同时将处理进度输出到log文件便于实时检测。

4、此时我们就可以将处理后的文件直接在微信中发布了。如果要将视频文件发布到网页并提供点播服务,还需要对视频进行切片,以确保在主流浏览器中能流畅访问,同时能在手机浏览器中点播。视频切片指令如下

指令解释:录制视频流3分钟,同时将流以10秒钟为间隔切片为ts格式,最终生成index.m3u8索引文件用于视频发布。

5、网页视频发布。以上所有操作最终使用php函数进行封装处理,所有变量使用数据库或网页提交。校园视频网站环境使用Apache+Php+Mysql,搭建于Linux系统上,网站程序全部编写完成后只需要登录后台点击相应链接,服务器即可进行完整的视频处理。前台视频播放使用video标签调用视频完成视频点播。点播页面代码示例:

拓展阅读:FFmpge简介

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。

我要回帖

更多关于 plex可以用gpu转码嘛 的文章

 

随机推荐