音视频开发6. 搭建 ffmpeg Linux远程开发环境
音视频开发6. 搭建 ffmpeg Linux远程开发环境
- 一、准备环境
- 二、操作步骤
- 1. 在CentOS 编译安装 ffmpeg
- 2. 编译安装ffmpeg后的环境
- 3. 本地在vscode安装 远程开发插件
- 4. 点击vscode左下角,进行远程配置。
- 5. 点击左侧Remote Explorer,连接到服务端
- 6. 在vscode点击文件菜单,打开文件夹,选择远程目录
- 三、建测试项目
- 1. 项目CmakeLists.txt设置
- 2. main.cpp
- 3. 编译运行
一、准备环境
- CentOS7 服务端
- 安装gcc4.8.2
- 本地windows,安装vscode
目标: 搭建FFmpeg 远程开发环境 ,本地使用VSCode。
二、操作步骤
1. 在CentOS 编译安装 ffmpeg
安装可参考: CentOS编译安装ffmpeg
2. 编译安装ffmpeg后的环境
库文件位置 : /usr/lib
ffmpeg源文件位置: /home/用户名/ffmpeg_sources/ffmpeg-4.2.2
3. 本地在vscode安装 远程开发插件
另外安装 c/c++插件。
4. 点击vscode左下角,进行远程配置。
按提示配置远程服务器信息。
5. 点击左侧Remote Explorer,连接到服务端
6. 在vscode点击文件菜单,打开文件夹,选择远程目录
三、建测试项目
项目路径: /home/xundh/ffmpegrtsp/
1. 项目CmakeLists.txt设置
cmake_minimum_required(VERSION 3.17)
project(ffmpeg_demo)# 设置ffmpeg依赖库及头文件所在目录,并存进指定变量
set(ffmpeg_libs_DIR /home/xundh/ffmpeg_sources/ffmpeg-4.2.2)
set(ffmpeg_headers_DIR /home/xundh/ffmpeg_sources/ffmpeg-4.2.2)#对于find_package找不到的外部依赖库,可以用add_library添加
# SHARED表示添加的是动态库
# IMPORTED表示是引入已经存在的动态库add_library( avcodec SHARED IMPORTED)
add_library( avfilter SHARED IMPORTED )
add_library( swresample SHARED IMPORTED )
add_library( swscale SHARED IMPORTED )
add_library( avformat SHARED IMPORTED )
add_library( avutil SHARED IMPORTED )#指定所添加依赖库的导入路径
set_target_properties( avcodec PROPERTIES IMPORTED_LOCATION ${ffmpeg_libs_DIR}/libavcodec/libavcodec.so )
set_target_properties( avfilter PROPERTIES IMPORTED_LOCATION ${ffmpeg_libs_DIR}/libavfilter/libavfilter.so )
set_target_properties( swresample PROPERTIES IMPORTED_LOCATION ${ffmpeg_libs_DIR}/libswresample/libswresample.so )
set_target_properties( swscale PROPERTIES IMPORTED_LOCATION ${ffmpeg_libs_DIR}/libswscale/libswscale.so )
set_target_properties( avformat PROPERTIES IMPORTED_LOCATION ${ffmpeg_libs_DIR}/libavformat/libavformat.so )
set_target_properties( avutil PROPERTIES IMPORTED_LOCATION ${ffmpeg_libs_DIR}/libavutil/libavutil.so )# 添加头文件路径到编译器的头文件搜索路径下,多个路径以空格分隔
include_directories( ${ffmpeg_headers_DIR} )
link_directories(${ffmpeg_libs_DIR} )
link_directories(/usr/lib)set(CMAKE_CXX_STANDARD 14)
add_executable(ffmpeg_demo main.cpp)
target_link_libraries(${PROJECT_NAME} avcodec avformat avutil swresample swscale swscale avfilter )
2. main.cpp
#include <stdio.h>#ifdef __cplusplus
extern "C"
{#endif
#include "libavcodec/avcodec.h"
#include "libavformat/avformat.h"
#include "libavutil/imgutils.h"
#include "libavutil/pixfmt.h"
#include "libavutil/avutil.h"
#include "libavutil/log.h"
#include "libswscale/swscale.h"
#ifdef __cplusplus
}
#endif
using namespace std;int main(){return 0;
}
3. 编译运行
cd /home/xundh/ffmpegrtsp
mkdir build
cd build
cmake ..
make
./ffmpeg_demo
音视频开发6. 搭建 ffmpeg Linux远程开发环境相关推荐
- Eclipse 进行Linux远程开发
Eclipse 进行Linux远程开发 Eclipse可以进行Linux远程开发,提前是安装了远程的包,如果没有需要返回到上篇文章重新安装包,同时如果进行C/C++开发,包也需要. 首先打开Sho ...
- 音视频基本概念和FFmpeg的简单入门(新手友好+FFmpeg资料分享)
音视频基本概念和FFmpeg的简单入门 基本概念 容器/文件(Conainer/File): 即特定格式的多媒体文件,一般来说一个视频文件是由视频,音频,字幕等按特定的格式/规则组合到一起的,常见如: ...
- 音视频命令转换工具 - FFmpeg
随着自媒体兴起,许多人会自拍视频或者找视频素材裁剪,配上背景音乐或解说,加上各种特效边框,处理后再生成新的视频文件,发布到各大平台.生成的原始视频文件都很大,我们需要转换格式或者压缩大小,便于上传或者 ...
- Android音视频学习系列(七) — 从0~1开发一款Android端播放器(支持多协议网络拉流本地文件)
系列文章 Android音视频学习系列(一) - JNI从入门到精通 Android音视频学习系列(二) - 交叉编译动态库.静态库的入门 Android音视频学习系列(三) - Shell脚本入门 ...
- 音视频系列2:ffmpeg将H.264解码为RGB
音视频系列2:ffmpeg将H.264解码为RGB 前言 源码 前言 喜大普奔,终于更新啦,上期说到,如何使用ffmpeg+rtmp进行拉流,不熟悉的小伙伴们,可以先看上一期.今天我们要实现的是使用f ...
- AVI音视频封装格式学习(四)——linux系统C语言AVI格式音视频封装应用
拖了很久的AVI音视频封装实例,花了一天时间终于调完了,兼容性不是太好,但作为参考学习使用应该没有问题.RIFF和AVI以及WAV格式,可以参考前面的一些文章.这里详细介绍将一个H264视频流和一个2 ...
- 详解音视频直播平台搭建中的低延时
详解音视频直播平台搭建中的低延时 音视频实时通讯的应用场景已经随处可见,从"吃鸡"的语音对讲.直播连麦.直播答题组队开黑,再到银行视频开户等.对于开发者来讲,除了关注如何能快速实现 ...
- ffmpeg rtmp 花屏_音视频系列6:ffmpeg多线程拉流
本文与csdn博客同步:https://blog.csdn.net/Hanghang_/article/details/105302384,欢迎关注,点赞,评论. 前言 本篇博客是音视频系列的续集与改 ...
- 挑战360无死角讲解Linux内核 进程管理,调度器的5种实现丨C++后端开发丨C/C++Linux服务器开发丨内核开发丨网络编程
挑战360无死角讲解 进程管理,调度器的5种实现 1. 8500行 CFS是什么 2. RT调度器使用场景 3. IDLE/Dealine调度器 视频讲解如下,点击观看: 挑战360无死角讲解Linu ...
最新文章
- 科学成为时尚的可行办法
- AngularJS Scope(作用域)
- 掌握这几种 Markdown 语法你就够了
- python自动安装apk文件
- 如何利用.pdb文件去调试
- 丁可以组什么词_有哪些量词可以用来描述生意经?
- JAVA ThreadPoolExecutor线程池
- codevs 1729 单词查找树
- PaaS平台OpenShift企业部署的“脑图”
- 电机学重读(一)基础知识
- 武忠祥<高等数学辅导讲义> 第一章
- 怎么把WORD中插入的图片改为统一尺寸的,看这里,文档中图片怎么改成同样大小
- 静水流深,闻喧享静 空山鸣响,见惯司空
- CentOS6.5_x64安装VNCserver
- codeforces 129E/128C Games with Rectangle
- GitHub上提交代码之写给小白
- 直播继续搅局双11?
- 人人网的相册里图片上传功能是怎样实现的
- javaWeb项目设置error页面
- 01-学习笔记(webstorm自定义模板代码)【新手上路,多多关照】