web flash推流h264視頻取消cbr

flash as3.0 推視頻H264
關於視頻質量

初次設置代碼如下:

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檢測文件屬性如下:


第二次設置如下:

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檢測文件屬性如下:


關於setQuality的官方解釋:
設置每秒的最大帶寬或當前輸出視頻輸入信號可以使用的畫面質量。
要指定帶寬,請爲帶寬傳遞一個值,併爲品質傳遞 0。
要指定品質,請爲帶寬傳遞 0,併爲品質傳遞一個值。
帶寬值和品質值均由 Camera 參數覆蓋。
flash as中關於H264編碼,在flash 10以前默認是VBR,之後默認改成CBR。
所以,想設置CBR,camera.setQuality(80000, 0);
想設置VBR,camera.setQuality(0, 100);
兩個同時設置,CBR生效。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章