我目前設計: 把 Android 手機 錄製的即時(實時)影像 傳遞到遠端Server,遠端Server可以同步live play目前做到功能是透過 MediaRecorder擷取影像,再以檔案方式送到Server端
問題是,我現在想要做到 Real-time 實時的功能,而非錄製完成之後在送到Server端。我的發送端 Android 架構如下Socket skt = new Socket(hostIP,port);
ParcelFileDescriptor pfd =ParcelFileDescriptor.fromSocket(skt);
....
....
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mediaRecorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT);
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mediaRecorder.setOutputFile(pfd.getFileDescriptor());
.....
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.MPEG_4_SP);
.....
mediaRecorder.start();而接受端 目前則是用Java寫的(在我的NB上面)// anyway , I don't think the file extentions will do any effect
File video = new File (strDate+".3gpp");
FileOutputStream fos;
try {
fos = new FileOutputStream(video);byte[] data = new byte[1024];int count =-1;while( (count = fin.read(data,0,1024) ) !=-1)
{
fos.write(data,0,count);
fos.flush();
}
fos.close();
fin.close();但是目前接受到的檔案,都沒辦法開啟觀看,
我猜是檔案影片格式的問題?
不曉得有經驗的版有,能不能提供一點想法呢?
另外如果要即時同步播放接收到的影像在Java上面有什麼Class可以用嘛?我也有想過是不是要從 Camera Preview畫面嘗試去擷取 畫面frame
再一個一個送出去,但是又感覺太笨了。不曉得有沒有一些概念方向提供呢?非常謝謝
問題是,我現在想要做到 Real-time 實時的功能,而非錄製完成之後在送到Server端。我的發送端 Android 架構如下Socket skt = new Socket(hostIP,port);
ParcelFileDescriptor pfd =ParcelFileDescriptor.fromSocket(skt);
....
....
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mediaRecorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT);
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mediaRecorder.setOutputFile(pfd.getFileDescriptor());
.....
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.MPEG_4_SP);
.....
mediaRecorder.start();而接受端 目前則是用Java寫的(在我的NB上面)// anyway , I don't think the file extentions will do any effect
File video = new File (strDate+".3gpp");
FileOutputStream fos;
try {
fos = new FileOutputStream(video);byte[] data = new byte[1024];int count =-1;while( (count = fin.read(data,0,1024) ) !=-1)
{
fos.write(data,0,count);
fos.flush();
}
fos.close();
fin.close();但是目前接受到的檔案,都沒辦法開啟觀看,
我猜是檔案影片格式的問題?
不曉得有經驗的版有,能不能提供一點想法呢?
另外如果要即時同步播放接收到的影像在Java上面有什麼Class可以用嘛?我也有想過是不是要從 Camera Preview畫面嘗試去擷取 畫面frame
再一個一個送出去,但是又感覺太笨了。不曉得有沒有一些概念方向提供呢?非常謝謝
解决方案 »
- 求大牛指教,如何在软键盘弹出时 捕捉到返回键?
- 是不是有android界面设计的软件
- 请教如何在循环中对已有的几个相同控件名且规则数字后缀进行操作
- 现在去学安卓工程师培训,还容易找到工作吗?
- json解析字符串
- android4.2 MTK CTS 测试失败项
- 新手求教Android Studio的问题
- as3怎么设置依赖库版本和编译器版本什么的?
- 急!!!!在android平台上我要通过C++实现将一个文件夹打包成一个压缩文件,请教有什么方法?谢谢
- android8.1收不到开机广播怎么解决?
- 加载GridView问题
- arm-2010q1-188-arm-none-eabi.bin 在哪下载
有找到方向了嗎
還請你指點一下
謝謝