当前位置:编程学习 > wap >>

如何傳遞實時同步視頻串流到網路伺服器

我目前設計: 把 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
再一個一個送出去,但是又感覺太笨了。

不曉得有沒有一些概念方向提供呢?

非常謝謝 --------------------编程问答-------------------- --------------------编程问答-------------------- 請問版主
有找到方向了嗎
還請你指點一下
謝謝 --------------------编程问答-------------------- 不能播放那是因为手机录制后传输的是3gp格式的视频流,需要解析后才可以播放的 --------------------编程问答-------------------- 我也遇到同样的问题了,传输到电脑上的不能播放,二保存在手机上的就可以播放
补充:移动开发 ,  Android
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,