话接上回,这次真刀真枪输出1080p的视频了. 前前后后折腾了一天,终于顺利输出无报错了,注意点有两个:
1. 不要使用 FlvEncoder 的 Alchemy 模式,我每次渲染都会在进行到一分多钟的时候报错,排查下来是使用 Alchemy 的 helper 不能正常生成 ArrayByte (长度为0,位于 VideoPayloadMakerAlchemy.as Line 74). Adobe 自己也反复表明不建议将其用于生产环境中,看来还是有道理的.
1 2 3 4 5 6 7 8 9 10 |
screen_fps = 30; video_width = 1920; video_height = 1080; video_num = 0; video_file = new File("./").resolvePath("video" + video_num + ".flv"); fsFlvEncoder= new FileStreamFlvEncoder(video_file, screen_fps); fsFlvEncoder.fileStream.openAsync(video_file, FileMode.UPDATE); fsFlvEncoder.setVideoProperties(video_width, video_height, VideoPayloadMaker); fsFlvEncoder.setAudioProperties(FlvEncoder.SAMPLERATE_44KHZ, false, true, true); //其实用不到音频 fsFlvEncoder.start(); |