通过ffmpeg实现rtsp rtmp rtmps 推流

安卓端推流直接引用 implementation 'com.arthenica:mobile-ffmpeg-full:4.4' 包

记得添加网络权限 

<uses-permission android:name="android.permission.INTERNET" />

基本方法:
···

public static long  executionId;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    findViewById(R.id.takePicture).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            long executionId = FFmpeg.executeAsync("-i rtsp://admin:yoseen2018@192.168.1.202/h264/ch1/main/av_stream -acodec copy -f rtsp -rtsp_transport tcp rtsp://123.55.106.133:554/client/02/cam_1", new ExecuteCallback() {
                //  long executionId = FFmpeg.executeAsync("-i file1.mp4 -c:v mpeg4 file2.mp4", new ExecuteCallback() {

                @Override
                public void apply(final long executionId, final int returnCode) {
                    if (returnCode == RETURN_CODE_SUCCESS) {
                        Log.i(Config.TAG, "Async command execution completed successfully.");
                    } else if (returnCode == RETURN_CODE_CANCEL) {
                        Log.i(Config.TAG, "Async command execution cancelled by user.");
                    } else {
                        Log.i(Config.TAG, String.format("Async command execution failed with returnCode=%d.", returnCode));
                    }
                }
            });
        }
    });

    findViewById(R.id.takeStop).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            FFmpeg.cancel(executionId);
        }
    });
}

···

注意:
1、 本地rtsp 转码 rtmp 推流命令:

"-i rtsp://admin:yoseen2018@192.168.1.202/h264/ch1/main/av_stream -acodec copy -f flv rtmp://192.168.1.155:1935/live/01"

2、 本地rtsp 推流 rtsp的udp 推流命令:

"-i rtsp://admin:yoseen2018@192.168.1.202/h264/ch1/main/av_stream -acodec copy f rtsp rtsp://192.168.1.155:1935/live/01"

3、本地rtsp 推流 rtsp的TCP推流命令:

"-i rtsp://admin:yoseen2018@192.168.1.202/h264/ch1/main/av_stream -acodec copy -f rtsp -rtsp_transport tcp rtsp://192.168.1.155:1935/live/01"



作者:一号读者
链接:https://www.jianshu.com/p/bdbfe5290ae1
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

相关推荐

  1. 通过ffmpeg实现rtsp rtmp rtmps

    2024-02-23 12:54:03       59 阅读
  2. FFmpeg实现RTSP

    2024-02-23 12:54:03       65 阅读
  3. FFmpeg实现rtp

    2024-02-23 12:54:03       51 阅读
  4. ffmpeg和EasyDARWIN实现

    2024-02-23 12:54:03       34 阅读
  5. 八、Python+FFmpeg实战直播

    2024-02-23 12:54:03       32 阅读
  6. 七、四个步骤实现FFmpeg播放实战

    2024-02-23 12:54:03       25 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-23 12:54:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-23 12:54:03       101 阅读
  3. 在Django里面运行非项目文件

    2024-02-23 12:54:03       82 阅读
  4. Python语言-面向对象

    2024-02-23 12:54:03       91 阅读

热门阅读

  1. selenium的使用

    2024-02-23 12:54:03       48 阅读
  2. 前端自动生成二维码并长按识别跳转 Vue

    2024-02-23 12:54:03       48 阅读
  3. 基于开源模型对文本和音频进行情感分析

    2024-02-23 12:54:03       58 阅读
  4. 介绍C#和C#代码

    2024-02-23 12:54:03       50 阅读
  5. 【Antd】Form 表单获取不到 Input 的值

    2024-02-23 12:54:03       49 阅读
  6. Linux下各种压缩包的压缩与解压

    2024-02-23 12:54:03       42 阅读
  7. 【springBoot】统一功能处理

    2024-02-23 12:54:03       46 阅读