ubuntu 基于ffmpeg和Visual GDB 实现本地推流功能

本文介绍了如何在Ubuntu系统中利用ffmpeg进行相关组件的下载和安装,然后展示了一段C++代码,用于实现从指定输入文件到RTMP服务器的视频推流。代码中包含了配置、打开输入输出流、读取和转换帧等关键步骤。
摘要由CSDN通过智能技术生成

ubuntu 上下载ffmpeg的相关组件  并且安装安装如下

1   ./configure --prefix=/usr/local/ffmpeg2 --enable-shared --enable-libmp3lame --enable-libvorbis --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libxvid --enable-postproc --enable-ffserver --enable-ffplay --enbale-static

2   make 

3   sudo make install  

 

代码 :

#include <iostream>
#include <stdio.h>

extern "C"
{
#include <libavformat/avformat.h>
#include <libavutil/mathematics.h>
#include <libavutil/time.h>
#include "libavformat/avformat.h"
#include "libavcodec/avcodec.h"
#include "libswscale/swscale.h"
#include "libswresample/swresample.h"
#include "libavfilter/avfilter.h"
#include "libavutil/log.h"
#include <libavutil/opt.h>
#include "libavfilter/buffersrc.h"
#include "libavfilter/buffersink.h"

#ifndef INT64_C
#define INT64_C(c) (c ## LL)
#define UINT64_C(c) (c ## ULL)
#endif


int main(int argc, char *argv [])
{
    AVOutputFormat *ofmt = NULL;
    //Input AVFormatContext and Output AVFormatContext
    AVFormatContext *ifmt_ctx = NULL, *ofmt_ctx = NULL;
    
    AVPacket pkt;
    const char *in_filename, *out_filename;
    int ret, i;
    int videoindex = -1;
    int frame_index = 0;
    int64_t start_time = 0;
 

# 记得修改推流的地址  


    in_filename  = "/hefu/live/zip.mp4";  //输入URL(Input file URL)</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值