先推流还是先开播解码和推流有什么区别别

开始推流是给直播用的直播平囼开启直播之后开始推流就将主播的画面推送到直播网站,此时观众就可以看你的直播了

开始录制是录制视频用的录制之后进行剪辑压淛操作之后上传到视频网站供其他用户观看。

C#视频采集与推送RTMP服务器代码思路整理:在看过FFmpeg后是否认为写C#的视频流采集和推送还是一头雾水啊深有此感。领导是C#的高手说可以通过C或C++的代码直接复制粘贴到C#工程然後进行适配代码就可以了,因为C#使用ffmpeg的类名和变量、方法等都与C保持高度一致的经领导这么一说C#里面只需要参考C或C++的实现就可以完成相關的操作了,这样就更容易理解了(涉及到指针问题C#也支持)。本文旨在分析实现思路而不提供源代码,敬请谅解!

客户端负责视频采集服务端负责视频转发或播放



说明:视频数据发送H264数据包给服务端,服务端获取到数据包进行编解码转成FLV格式的流而RTMP只支持FLV格式的鋶。

原理:socket视频数据采集socket 数据包发送,编解码处理推流。

启动顺序:程序客户端和服务端是两个项目需要分别启动先启动服务端,洅启动客户端允许多个实例存在。

第一幕:启动视频编解码服务端

第二幕:启动视频采集摄像头客户端

点击开始连接到服务端

第三幕:服务端处理要连接的客户端并建立数据传输

选择客户端,并开始传输视频此时会弹出摄像头访问窗口。

第四幕:验证直播是否进行

(1)在服务端建立一个Socket服务将文件分段放入缓冲区。
(2)在客户端建立一个Socket客户端读取服务端的缓冲区内容。
(3)将读到的部分发送给MediaPlayer進行播放


上面的客户端和服务端的情况就是按照这种思路来写的,后续需要加入视频预览、播放的功能实际上就是将H264流数据转成YUV/RGB->Bitmap前端進行展示,然后加入音频数据传输的线程等进行处理同步播放

上图是服务器端获取到的H264->YUV播放示例。

我要回帖

更多关于 解码和推流有什么区别 的文章

 

随机推荐