flash as3.0 推视频H264
关于视频质量ide
初次设置代码以下:编码
h264Setting.setProfileLevel(H264Profile.BASELINE, H264Level.LEVEL_3); media_stream.videoStreamSettings = h264Setting; camera.setKeyFrameInterval(av_gop); camera.setMode(av_normal_width, av_normal_height, Number(av_normal_fps)); camera.setQuality(80000, 100);
编码后的视频在有晃动的状况下花屏轻微马赛克,mediainfo检测文件属性以下:spa
第二次设置以下:code
h264Setting.setProfileLevel(H264Profile.BASELINE, H264Level.LEVEL_3); media_stream.videoStreamSettings = h264Setting; camera.setKeyFrameInterval(av_gop); camera.setMode(av_normal_width, av_normal_height, Number(av_normal_fps)); camera.setQuality(0, 100);
编码后的视频在有晃动的状况下也是正常的,不过码率浮动上升,mediainfo检测文件属性以下:orm
关于setQuality的官方解释:
设置每秒的最大带宽或当前输出视频输入信号可使用的画面质量。
要指定带宽,请为带宽传递一个值,并为品质传递 0。
要指定品质,请为带宽传递 0,并为品质传递一个值。
带宽值和品质值均由 Camera 参数覆盖。
flash as中关于H264编码,在flash 10之前默认是VBR,以后默认改为CBR。
因此,想设置CBR,camera.setQuality(80000, 0);
想设置VBR,camera.setQuality(0, 100);
两个同时设置,CBR生效。视频