突然想起9bie之前开的一个坑,后来弃坑了他,今晚无聊的时候突然想到这个玩意,打算十一放假搞一搞。
9bie的思路是:
收到点播弹幕 -> 从网易云下载mp3文件和专辑图 -> 合成mp4 -> 转换为flv -> 合并到推送的主flv文件 -> 推送到直播地址
结果出毛病了
ffmpeg使用失败,太难用了,出现了几个问题:没办法同时转码同时推流、推流会出现间隔,没办法无间断播放、十分不稳定
针对他这个问题,貌似是合并flv的时候容易出问题,所以查阅一番资料之后,我的思路和他不太一样:
1、获取点歌弹幕或者根据播放列表然后下载mp3或acc及封面
2、PIL合成视频图片,输出。
3、FFmpeg合成一图流视频文件为ts格式(是否能够直接合成为ts还有待实验,或者合成为mp4再转为ts)
4、更新m3u8播放列表
5、主进程刷新m3u8列表并推送到服务器
主要不一样的地方在于我不是把所有视频数据都合成到同一个文件里去,而是把转接的过程交给直播服务器来处理,希望这样可以解决9bie遇到的问题。另外,全部合成到一个flv有可能会导致文件过大,这就存在一个定时清理的问题,那又要重新开播。我这个一个音乐放完了就可以直接删除,不存在文件过大的问题。
不知道同时推流+合成转码对树莓派来说会不会比较吃力。
睡觉了,还有3天啦就要放假啦!

网友评论