Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在GSP页面上播放来自服务的视频流_Java_Sockets_Grails_Groovy_Gsp - Fatal编程技术网

Java 在GSP页面上播放来自服务的视频流

Java 在GSP页面上播放来自服务的视频流,java,sockets,grails,groovy,gsp,Java,Sockets,Grails,Groovy,Gsp,原始问题 我碰壁了,我希望这里有人能帮我。几周前我刚刚开始编程Grails,这是我的第一个项目,所以请允许我要求所有的回答都带有示例,我将非常感谢 我正试图开发一个网页,连接到我公司的一个专有相机引擎(用c++编写)。选择摄像头后,此“SocketSerivce”应与引擎建立TCP连接并请求流(mjpeg/h264/etc) 我的问题是,我已经能够成功地建立到引擎的套接字连接并请求流,但我不知道如何处理它,我尝试的一切都失败了。我想让视频流(mjpeg/h264/etc)在我的GSP页面上的中播

原始问题

我碰壁了,我希望这里有人能帮我。几周前我刚刚开始编程Grails,这是我的第一个项目,所以请允许我要求所有的回答都带有示例,我将非常感谢

我正试图开发一个网页,连接到我公司的一个专有相机引擎(用c++编写)。选择摄像头后,此“SocketSerivce”应与引擎建立TCP连接并请求流(mjpeg/h264/etc)

我的问题是,我已经能够成功地建立到引擎的套接字连接并请求流,但我不知道如何处理它,我尝试的一切都失败了。我想让视频流(mjpeg/h264/etc)在我的GSP页面上的
中播放

有人知道最好的方法吗

SocketService.groovy:

def static getCameraStream(def ip, def port, def cam){
    final Socket sock = new Socket(ip, port)
    OutputStream os = sock.getOutputStream()
    dataips = new DataInputStream(sock.getInputStream());
    //s.setSoTimeout(3000)
    nThread = new Thread(){
        public void run(){
            os << "Get /specialCommandtoRequestCameraStream"
            os.flush()
            while((readed = dataips.readLine()) != null){
                println("read:  " + readed)
            }
        }
    }.start();
def静态getCameraStream(def ip、def端口、def cam){
最终插座插座=新插座(ip,端口)
OutputStream os=sock.getOutputStream()
dataips=新的DataInputStream(sock.getInputStream());
//s、 设置超时(3000)
nThread=新线程(){
公开募捐{

os假设您只是希望将从套接字读取的流作为http响应的内容进行中继,则必须在控制器中编写以下代码:

import org.apache.commons.io.IOUtils

def getCameraStream() {
  Socket sock = new Socket(params.ip, params.port as Integer)
  sock.withStreams { input, output ->
    output << "Get /specialCommandtoRequestCameraStream"
    output.flush()
    response.setContentType('video/mp4')
    IOUtils.copy(input,response.outputStream)
  }
  sock.close()
}
import org.apache.commons.io.IOUtils
def getCameraStream(){
Socket sock=新套接字(params.ip,params.port为整数)
sock.withStreams{输入,输出->

输出难道你不能直接将客户端播放器组件连接到相机引擎吗?或者这是通过grails流式传输所有内容的要求吗?这是通过grails流式传输的要求。目前,我正在尝试通过流式传输视频来验证我需要创建的概念。稍后,额外的工作/操作将我对那些视频流已经做了。你玩过了吗?,。它似乎比你需要的做得更多,但是视频流的代码可能在那里的某个地方?不,我没有。我还没有真正弄清楚整个插件的事情。我只是专注于让小东西在这里和那里工作。我现在来看看这个谢谢。我只是通过IntelliJ IDE添加了这个插件,对吗?我会浏览一下源代码,然后创建一个新的实验项目,并将(假设grails 2.+)
compile“:gvps:0.3”
添加到BuildConfig的插件部分。我不使用IDE,所以我不知道如何在IntelliJ中添加插件,对不起:-(