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生效。視頻