流媒体
文章平均质量分 61
视频
C_IS_ALL
嵌入式、视频、软件开发、硬件开发
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
10-流媒体-RTMP编译
将h264推流给服务器,就完成了采集端的推流工作。一般在嵌入式系统常用的rtmp推流方案是rtmpdump。使用rtmp库涉及到一些编译过程,下面我们一点点描述。删除 pod2man文件:sudo rm /usr/bin/pod2man。配置makefile,注意这里的路径要按照自己电脑来。注意两个makefile要分别修改。3.编译rtmpdump。1.编译openssl。若发现下面报错,要解决。修改:Makefile。原创 2023-12-17 12:23:29 · 583 阅读 · 0 评论 -
06-流媒体-YUV数据在SDL控件显示
SDL2库源码:https://download.youkuaiyun.com/download/sishen4199/88547680。完整工程:https://download.youkuaiyun.com/download/sishen4199/88547724。客户端:RTMP拉流->解封装(FLV转H264)->解码(H264转YUV)->YUV显示(SDL2)采集端:摄像头采集(YUV)->编码(YUV转H264)->写封装(H264转FLV)->RTMP推流。YUV视频是通过SDL控件显示,首先要编译SDL库。原创 2023-11-17 20:58:28 · 660 阅读 · 0 评论 -
05-流媒体-摄像头采集YUV
采集端:摄像头采集(YUV)->编码(YUV转H264)->RTMP推流客户端:RTMP拉流->解码(H264转YUV)->YUV显示(SDL2)下面是采集摄像头的YUV数据相关代码。原创 2023-11-12 21:41:48 · 390 阅读 · 0 评论 -
04-流媒体-ffmpeg.c源码分析
其中transcode_step()、print_report()、flush_encoders()循环执行,下面对transcode_step()分析。avcodec_receive_packet():获取到编码后的AVPacket数据,收到的packet需要自己释放内存。show_banner()//打印输出ffmpeg的版本信息、编译时间、编译选项、类库信息。check_keyboard_interaction()//检测键盘的操作。ffmpeg_parse_options()//解析输入的命令。原创 2023-10-27 22:05:20 · 811 阅读 · 0 评论 -
05-流媒体-RTMP协议介绍
RTMP是一种常见的流媒体协议,是基于TCP/IP协议模型的应用层协议,工作在TCP协议上,端口是1935。通过TCP三次握手保证传输的可靠。原创 2023-11-04 16:14:56 · 503 阅读 · 0 评论 -
03-流媒体-ffplay.c源码分析
此两个函数,分别对应frame队列和packet队列,frame队列用于存放YUV数据,而packet队列用于存放如h264之类的数据。创建一个线程,专门用于读取媒体文件,并将媒体文件所包含的h264、aac,和字幕放在不同的packet队列,这步的过程叫解封装。4.3 video_image_display的内容是从frame队列弹出一个YUV帧,并播放。这个函数是ffplay中最重要的函数,其作用是读一个媒体文件,然后将文件进行解封装,再然后进行解码。(2)h264帧->存入packet队列。原创 2023-10-21 14:19:17 · 583 阅读 · 0 评论 -
02-流媒体-RTMP服务器搭建
链接:https://pan.baidu.com/s/1G_YfBXHhbbRByINstOthPw。流媒体的是所有传输音视频的总称,本节我们讨论常见的RTMP协议nginx服务器搭建和RTMP推流。ffmpeg -i xx.mp4 -f flv rtmp://ip地址:1935/live/xx。ffplay rtmp://ip地址:1935/live/xxx。弹出对话框,正是xx.mp4的内容。1.下载对应的服务器包。3.安装对应的需求库。在文件最后加如下内容。原创 2023-10-16 19:11:59 · 339 阅读 · 0 评论 -
01-流媒体-FFMPEG环境搭建
1.首先是在官网上下载好对应的开发包,我电脑上下载的版本是ffmpeg-4.2.2。2.配置在源码目录下建立一个my_build目录。此目录用于后面放编译出来的LIB和头文件。3.环境安装sudo apt-get update -qq && sudo apt-get -y install autoconf automake build-essential cmake g...原创 2020-04-20 17:33:43 · 715 阅读 · 1 评论 -
00-流媒体-概述
因而对于摄像头采集的RGB或者YUV数据而言,我们需要将其占有的空间变小,这一步压缩视频的操作要作编码,市面上将原始视频编码成H264或H265,而将H264或H265还原成RGB或YUV的操作,要作解码。因而,摄像头设备端所完成事情就是将源音视频数据编码,封装成一个MP4或RMVB文件,而客户端需要完成的是将Mp4视频解封装, 解码成视频RGB,PCM显示与播放。另外现在的抖音,网站,或者电影,我们会发现大多数情况下,采集端与播放端并不是一个设备,播放端获取获取采集端视频的方法,最普遍的就是网络传输。原创 2023-08-23 10:48:07 · 779 阅读 · 0 评论
分享