[三]H264编码和 MediaCodec

发布时间:2024年01月18日


MediaCodec)
在这里插入图片描述

一.MediaCodec

MediaCodec是Android平台提供的一种多媒体编解码器的API。它允许开发人员对音频和视频数据进行高效的编码和解码操作。通过使用MediaCodec,开发人员可以直接访问设备硬件加速的编解码功能,以提高多媒体应用程序的性能和效率。

使用MediaCodec,开发人员可以将原始的音频和视频数据输入到编码器中进行压缩编码,或者将编码后的数据输入到解码器中进行解码还原。这对于实时流媒体传输、视频录制和播放等应用非常有用。

MediaCodec还提供了对多种常见音视频编码格式的支持,如H.264、H.265、MPEG-4、AAC等。开发人员可以根据需要选择合适的编码器和解码器进行处理。

总的来说,MediaCodec是Android平台上用于多媒体编解码的重要API,可以帮助开发人员实现高效的音视频处理和传输。

二.H264

https://blog.csdn.net/locahuang/article/details/113906660

  1. SRS服务器地址:http://10.161.9.80:8066
    在这里插入图片描述
  2. 下载ffmpeg.exe推流:
    链接: https://pan.baidu.com/s/1WBtuubfj_ZpcTNneoAKv8Q?pwd=csck 提取码: csck 复制这段内容后打开百度网盘手机App,操作更方便哦

.\ffmpeg.exe -re -i 视频名称.mp4 -vcodec libx264 -acodec aac -f flv
rtmp://10.161.9.80/live/livestream

  1. 拉流测试:http://10.161.9.80:8066/live/livestream.flv
    在这里插入图片描述

二.使用Nginx搭建自己的rtmp服务器

1.nginx是什么?

nginx是一款优秀的反向代理工具,通过nginx可以实现搭建高可用的轻量级web服务器,除此之外,通过Nginx自带的rtmp模块,也可以实现rtmp服务器的搭建。

2.环境准备

1.系统版本
Ubuntu 18.04.4

2.nginx版本
nginx/1.21.6

三、搭建过程

1.安装编译 nginx 所需要的库

sudo apt-get install build-essential libpcre3 libpcre3-dev libssl-dev

2.下载 nginx-1.21.6.tar.gz

wget http://nginx.org/download/nginx-1.21.6.tar.gz

3.下载 nginx-rtmp-module

wget https://github.com/arut/nginx-rtmp-module/archive/master.zip

4.解压

1)解压nginx文件

tar -zxvf nginx-1.21.6.tar.gz

2)解压rtmp模块

unzip master.zip

5.编译

1)进入解压后的nginx路径

cd nginx-1.21.6

2)编译

./configure --with-http_ssl_module
–add-module=…/nginx-rtmp-module-master

3)安装

make
sudo make install

6.启动nginx,检测nginx是否能成功运行

sudo /usr/local/nginx/sbin/nginx

如果没有提示报错,则说明运行成功了

7.配置nginx使用RTMP, /usr/local/nginx/conf/nginx.conf

rtmp {
        server {
                listen 1935;
                chunk_size 4096;
 
                application live {
                        live on;
                        record off;
                }
        } 
 }
        

8.重启nginx服务器

sudo /usr/local/nginx/sbin/nginx -s stop sudo
/usr/local/nginx/sbin/nginx

文章来源:https://blog.csdn.net/qq_34178710/article/details/135676116
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。