Closed ken626014896 closed 6 months ago
可能不太一样,我得到的是一帧一帧h264裸码流,还要mdk解码
你可以把数据写到socket,player这边用fd协议播放
请问有fd协议的例子看看吗,比例fd协议的播放地址结构是怎么样的
使用socketpair生成一对socket fd,一个用来写编码数据,一个用来播放器读
player.setMedia("fd:"); // fd 协议值支持 "fd:"
player.setProperty("avio.fd", to_string(fd_read)); // ffmpeg url protocol的option
大佬可以用这个fd的方式实现播放ws://127.0.0.1:8080/stream/V1.live.flv 这种视频流吗?
大佬可以用这个fd的方式实现播放ws://127.0.0.1:8080/stream/V1.live.flv 这种视频流吗?
可以,这方法其实把协议处理交给用户了,用户只要提供处理后的视频数据就行
有没有简单示例?数据通过设置属性发就行?
把数据转成string设置?
有没有简单示例?数据通过设置属性发就行?
前面的回复就是例子,完整例子我没有。数据写到fd里去啊,数据格式需要ffmpeg可识别的,比如这个issue里的h264码流,也可以是你把websocket读出来的flv直接写进去
是不是不断取到的二进制数据转string再setproperty
是不是不断取到的二进制数据转string再setproperty
直接写二进制数据到fd。你看看socket pair、进程间通信这些就明白了
王总有空写个最简单的示例吗?已经通过socket拿到了flv的264视频流数据,可以在ffmpeg中正常解码播放,但是不知道如何在mdk中播放。谢谢
王总啊,帮帮忙,抽空看下能不能写个简单示例,如何将websocket的数据发给mdk解码,跪谢!
就是进程间通信的各种方法啊,pipe、unix socket甚至tcp都可以,具体代码让ai写写也够了。或者你用websocket的话自己打个补丁让ffmpeg支持websocket也行
用ffmpeg纯代码实现websocket的数据解码已经会,但是mdk里面不知道如何接入
用ffmpeg纯代码实现websocket的数据解码已经会,但是mdk里面不知道如何接入
你加个新协议比如ws不就行了,调用代码不需要改啊
你是说加到ffmpeg代码中然后重新编译ffmpeg生成库
最新的包加了个新的接口appendBuffer(data,size)
用于播放实时产生的二进制流,要求是setMedia()
参数为"stream:",然后可以不停地添加数据播放,比如websocket接受到的数据都appendBuffer
调用一下。websocket的例子在 https://github.com/wang-bin/mdk-examples/blob/master/Native/stream.cpp
想把硬编码得到的h264数据,放到mdk播放