android推流局域网,android全平台基于ffmpeg解码本地MP4视频推流到RTMP服务器

本文介绍了如何在Android设备上利用ffmpeg库将本地MP4视频推流到RTMP服务器。首先,文章讲解了在Ubuntu环境下配置ffmpeg的步骤,然后展示了如何在Android Studio工程中创建CMakeLists.txt文件来编译和链接ffmpeg库。接着,提供了Java和C++代码示例,展示如何调用ffmpeg进行推流操作。最后,提到了在局域网内使用VLC播放器接收并播放推流视频的方法。
摘要由CSDN通过智能技术生成

音视频实践学习

本文目录

概述

还是先从最简单的搞起来,先从最基本的视频推流开始,要知道在电脑上使用ffmpeg完成推流,简直不要太简单,直接使用ffmpeg的推流命令即可,今天想在android平台实践一下,具体操作大家也可以看看雷神的博客。

ffmpeg -re -i input.mp4 -vcodec copy -f flv rtmp://192.168.1.102:1935/onzhou/live

配置环境

操作系统: ubuntu 16.05

注意: ffmpeg库的编译使用的是android-ndk-r10e版本,使用高版本编译会报错。

而android-studio工程中配合cmake使用的版本则是android-ndk-r16b版本

9e5be1278daf

image

新建工程ffmpeg-single-streamer

9e5be1278daf

image

build.gradle配置比较简单,可以参考之前的文章

新建CMakeLists.txt文件,配置如下

cmake_minimum_required(VERSION 3.4.1)

add_library(ffmpeg-streamer

SHARED

src/main/cpp/ffmpeg_streamer.c)

find_library(log-lib

log)

#获取上级目录

get_filename_component(PARENT_DIR ${CMAKE_SOURCE_DIR} PATH)

set(LIBRARY_DIR ${PARENT_DIR}/ffmpeg-single)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11")

set(CMAKE_VERBOSE_MAKEFILE on)

add_library(ffmpeg-single

SHARED

IMPORTED)

set_target_properties(ffmpeg-single

PROPERTIES IMPORTED_LOCATION

${LIBRARY_DIR}/libs/${ANDROID_ABI}/libffmpeg.so

)

#头文件

include_directories(${LIBRARY_DIR}/libs/${ANDROID_ABI}/include)

target_link_libraries(ffmpeg-streamer ffmpeg-single ${log-lib})

新建NowStreamer.java文件

package com.onzhou.ffmpeg.streamer;

public class NowStreamer {

static {

System.loadLibrary("ffmpeg");

System.loadLibrary("ffmpeg-streamer");

}

public native int startPublish(String input, String output);

}

在src/main/cpp目录新建源文件ffmpeg_st

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值