小编Gar*_*iel的帖子

如何编写Live555 FramedSource以允许我直播H.264

我一直在尝试编写一个派生自Live555中FramedSource的类,它允许我将实时数据从我的D3D9应用程序传输到MP4或类似程序.

我每帧做的是将后备缓冲区作为纹理抓取到系统内存中,然后将其从RGB - > YUV420P转换,然后使用x264对其进行编码,然后理想地将NAL数据包传递到Live555.我创建了一个名为H264FramedSource的类,它基本上是通过复制DeviceSource文件从FramedSource派生的.我没有将输入作为输入文件,而是将其作为NAL数据包,我更新了每个帧.

我对编解码器和流媒体都很陌生,所以我可能做的一切都完全错了.在每个doGetNextFrame()中,我应该抓住NAL数据包并执行类似的操作

memcpy(fTo, nal->p_payload, nal->i_payload)
Run Code Online (Sandbox Code Playgroud)

我假设有效载荷是我的帧数据,以字节为单位?如果有人从FramedSource那里得到一个类的例子,它可能至少接近我想要做的事情,我很乐意看到它,这对我来说是全新的,并且弄清楚发生了什么有点棘手.Live555的文档几乎就是代码本身,这并不能让我很容易理解.

c++ ffmpeg h.264 x264 live555

9
推荐指数
1
解决办法
2万
查看次数

标签 统计

c++ ×1

ffmpeg ×1

h.264 ×1

live555 ×1

x264 ×1