我正在尝试使用flash制作直播的Android应用程序(air for android)。 我的应用程序可用于将视频从设备流式传输到服务器。
我用于此的代码如下:
import flash.media.Camera;
import flash.net.NetConnection;
import flash.events.NetStatusEvent;
import flash.net.NetStream;
var cam:Camera = new Camera();
cam = Camera.getCamera();
cam.setMode(videoView.width, videoView.height, 15, true);
videoView.attachCamera(cam);
var netCon:NetConnection = new NetConnection();
netCon.client = this;
netCon.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus);
netCon.connect("rtmp://url.com/live");
var netStream:NetStream;
function onNetStatus(event:NetStatusEvent):void {
if(event.info.code == "NetConnection.Connect.Success") {
trace("pulishing");
netStream = new NetStream(netCon);
netStream.attachCamera(cam);
netStream.publish("testlive");
}
}
上述程序在大部分设备中成功地将视频从设备cam流式传输到服务器,我们可以看到设备中正在拍摄的视频。但在某些设备中,视频会失真。
我附上了扭曲视频的屏幕。任何人都可以帮我解决这个问题吗?我已经搜索了很多这方面的内容,但找不到任何好的答案。
我面临这样一个问题的设备是一个定制的Android设备,运行在4.0.4
此处显示的图像是我在设备屏幕上获得的图像。但是,当我在JWplayer上流式传输捕获的视频时,它会显示没有任何失真的视频。
[1]: http://i.stack.imgur.com/gP1wa.png