当前位置: 首页 > news >正文

河南艾特网站建设公司电子商务网站建设与维护期末

河南艾特网站建设公司,电子商务网站建设与维护期末,给人做网站赚钱吗,数据展示网站文章目录 前言前提须知为什么要自己编译 FFmpeg前提软件包与工具的安装编译ffmpeg写CMakeList.txt包含ffmpeg到我们项目中 总结 前言 FFmpeg 是一个领先的多媒体框架#xff0c;能够解码、编码、转码、复用、解复用、流化、过滤和播放几乎所有人类和机器创造的内容。FFmpeg 包… 文章目录 前言前提须知为什么要自己编译 FFmpeg前提软件包与工具的安装编译ffmpeg写CMakeList.txt包含ffmpeg到我们项目中 总结 前言 FFmpeg 是一个领先的多媒体框架能够解码、编码、转码、复用、解复用、流化、过滤和播放几乎所有人类和机器创造的内容。FFmpeg 包含 libavcodec这是一个可以用来处理音频和视频数据的强大库。本文将介绍如何在 Ubuntu 上编译 FFmpeg并创建一个使用 CMake 的示例项目以验证 FFmpeg 库的正确安装和配置。 前提须知 其实我们不必自己编译ffmpeg如果你的ubuntu已经安装了ffmpeg的话你可以在/usr/include/x86_64-linux-gnu找到ffmpeg的头文件。在/usr/lib/x86_64-linux-gnu里面可以找到.a静态库 如果你使用这种方式你可以有下面这个CMakeLists.txt文件 cmake_minimum_required(VERSION 3.10) project(ffmpeg_test)# 设置C标准 set(CMAKE_C_STANDARD 99)# 查找FFmpeg库 find_package(PkgConfig REQUIRED) pkg_check_modules(AVFORMAT REQUIRED libavformat) pkg_check_modules(AVCODEC REQUIRED libavcodec) pkg_check_modules(AVUTIL REQUIRED libavutil)# 包含FFmpeg头文件路径 include_directories(${AVFORMAT_INCLUDE_DIRS}) include_directories(${AVCODEC_INCLUDE_DIRS}) include_directories(${AVUTIL_INCLUDE_DIRS})# 添加可执行文件 add_executable(ffmpeg_test main.c)# 链接FFmpeg库 target_link_libraries(ffmpeg_test ${AVFORMAT_LIBRARIES} ${AVCODEC_LIBRARIES} ${AVUTIL_LIBRARIES})并有这样的main文件 #include stdio.h #include include/libavcodec/avcodec.h #include include/libavformat/avformat.h #include include/libavutil/avutil.hint main() {printf(FFmpeg version: %s\n, av_version_info());return 0; }我们可以通过cmake ..make的操作来得到可执行文件 ubuntuubuntu-virtual-machine:~/MyFFMPEG/template_c$ ls build CMakeLists.txt include lib main.c ubuntuubuntu-virtual-machine:~/MyFFMPEG/template_c$ cd build/ ubuntuubuntu-virtual-machine:~/MyFFMPEG/template_c/build$ cmake .. -- Configuring done -- Generating done -- Build files have been written to: /home/ubuntu/MyFFMPEG/template_c/build ubuntuubuntu-virtual-machine:~/MyFFMPEG/template_c/build$ make Consolidate compiler generated dependencies of target ffmpeg_test [100%] Built target ffmpeg_test ubuntuubuntu-virtual-machine:~/MyFFMPEG/template_c/build$ ./ffmpeg_test FFmpeg version: 7.0.1 ubuntuubuntu-virtual-machine:~/MyFFMPEG/template_c/build$ 为什么要自己编译 FFmpeg 自己编译 FFmpeg 而不是使用预编译包有几个主要原因 最新版本 预编译包通常与发行版的发布周期一致可能并不是最新的。通过自己编译可以确保使用最新的 FFmpeg 版本获取最新的特性和修复。 自定义配置 编译 FFmpeg 时可以指定各种配置选项例如启用或禁用特定的编码器、解码器、滤镜或其他组件。这对于需要定制功能的项目尤为重要。 优化性能 可以根据目标硬件的架构进行特定的编译优化例如启用高级的 CPU 指令集如 AVX、SSE以提高性能。 减少依赖 预编译包可能包含不需要的功能和依赖项通过自己编译可以仅包含项目所需的功能从而减少不必要的依赖和潜在的安全风险。 集成第三方库 有时需要与其他第三方库集成例如 NVIDIA CUDA、Intel Quick Sync Video 等通过自己编译可以轻松实现这些集成。 通过自己编译 FFmpeg可以更好地控制其功能和性能满足特定项目的需求。 前提软件包与工具的安装 首先你需要在ffmpeg code download下载ffmpeg源码如果你需要其他版本可以在More releases里面找到 然后你需要使用下面这个命令安装SDL2 sudo apt install libsdl2-dev之后你需要安装aptitude sudo apt install aptitudeyasm、nasm是两个汇编器编译 FFmpeg 需要用到。 sudo aptitude install yasm nasm最后你需要安装这些 FFmpeg 的安装依赖许多库如音频编码库音频解码库视频编解码库等这里不介绍每个库的具体作用按照命令安装即可。 sudo apt-get install libgmp3-dev sudo apt install pkg-config sudo apt install gnutls-bin sudo aptitude install libaom-dev sudo aptitude install libass-dev sudo aptitude install libbluray-dev sudo aptitude install libfdk-aac-dev sudo aptitude install libmp3lame-dev sudo aptitude install libopencore-amrnb-dev sudo aptitude install libopencore-amrwb-dev sudo aptitude install libopenmpt-dev sudo aptitude install libopus-dev sudo aptitude install libshine-dev sudo aptitude install libsnappy-dev sudo aptitude install libsoxr-dev sudo aptitude install libspeex-dev sudo aptitude install libtheora-dev sudo aptitude install libtwolame-dev sudo aptitude install libvo-amrwbenc-dev sudo aptitude install llibvpx-dev sudo aptitude install libwavpack-dev sudo aptitude install libwebp-dev sudo aptitude install libx264-dev sudo aptitude install libx265-dev sudo aptitude install libxvidcore-dev sudo aptitude install liblzma-dev编译ffmpeg 首先你需要先新建一个文件夹用来保存编译后存放的内容 然后终端打开ffmpeg源码文件夹 ./configure --prefix/home/ubuntu/runffmpeg/FFMPEG --enable-shared输出 ubuntuubuntu-virtual-machine:~/runffmpeg/ffmpeg-7.0.1$ ./configure --prefix/home/ubuntu/runffmpeg/FFMPEG --enable-shared install prefix /home/ubuntu/runffmpeg/FFMPEG source path . C compiler gcc C library glibc ARCH x86 (generic) big-endian no runtime cpu detection yes standalone assembly yes x86 assembler nasm MMX enabled yes MMXEXT enabled yes 3DNow! enabled yes 3DNow! extended enabled yes SSE enabled yes SSSE3 enabled yes AESNI enabled yes AVX enabled yes AVX2 enabled yes AVX-512 enabled yes AVX-512ICL enabled yes XOP enabled yes FMA3 enabled yes FMA4 enabled yes i686 features enabled yes CMOV is fast yes EBX available yes EBP available yes debug symbols yes strip symbols yes optimize for size no optimizations yes static yes shared yes postprocessing support no network support yes threading support pthreads safe bitstream reader yes texi2html enabled no perl enabled yes pod2man enabled yes makeinfo enabled yes makeinfo supports HTML yes xmllint enabled noExternal libraries: alsa libxcb_shape lzma xlib iconv libxcb_shm sdl2 zlib libxcb libxcb_xfixes sndio //省略..................................... External libraries providing hardware acceleration: libdrm v4l2_m2m vaapi vdpauLibraries: avcodec avfilter avutil swscale avdevice avformat swresamplePrograms: ffmpeg ffplay ffprobe //省略............................................ Enabled indevs: alsa kmsgrab oss v4l2 fbdev lavfi sndio xcbgrabEnabled outdevs: alsa oss sndio xv fbdev sdl2 v4l2License: LGPL version 2.1 or later紧接着你需要使用: sudo make-jxx其中xx是你Ubuntu cpu核心数 比如我是12则是sudo make-j12 如果不这样写就会编译的很慢 最后使用: sudo make install即可完成 ubuntuubuntu-virtual-machine:~/runffmpeg/FFMPEG$ tree -L 2 . ├── bin │ ├── ffmpeg │ ├── ffplay │ └── ffprobe ├── include │ ├── libavcodec │ ├── libavdevice │ ├── libavfilter │ ├── libavformat │ ├── libavutil │ ├── libswresample │ └── libswscale ├── lib │ ├── libavcodec.a │ ├── libavcodec.so - libavcodec.so.61.3.100 │ ├── libavcodec.so.61 - libavcodec.so.61.3.100 │ ├── libavcodec.so.61.3.100 │ ├── libavdevice.a │ ├── libavdevice.so - libavdevice.so.61.1.100 │ ├── libavdevice.so.61 - libavdevice.so.61.1.100 │ ├── libavdevice.so.61.1.100 │ ├── libavfilter.a │ ├── libavfilter.so - libavfilter.so.10.1.100 │ ├── libavfilter.so.10 - libavfilter.so.10.1.100 │ ├── libavfilter.so.10.1.100 │ ├── libavformat.a │ ├── libavformat.so - libavformat.so.61.1.100 │ ├── libavformat.so.61 - libavformat.so.61.1.100 │ ├── libavformat.so.61.1.100 │ ├── libavutil.a │ ├── libavutil.so - libavutil.so.59.8.100 │ ├── libavutil.so.59 - libavutil.so.59.8.100 │ ├── libavutil.so.59.8.100 │ ├── libswresample.a │ ├── libswresample.so - libswresample.so.5.1.100 │ ├── libswresample.so.5 - libswresample.so.5.1.100 │ ├── libswresample.so.5.1.100 │ ├── libswscale.a │ ├── libswscale.so - libswscale.so.8.1.100 │ ├── libswscale.so.8 - libswscale.so.8.1.100 │ ├── libswscale.so.8.1.100 │ └── pkgconfig └── share├── doc├── ffmpeg└── man15 directories, 31 files这里面是我们需要的东西了我们需要include和lib(*.a)里面的东西 写CMakeList.txt包含ffmpeg到我们项目中 下面就是我们的CMakeLists.txt文件了你需要把include和lib文件夹放到CMakeLists.txt同级目录下 cmake_minimum_required(VERSION 3.10) project(ffmpeg_test C)# 设置 C 标准 set(CMAKE_C_STANDARD 99)# 指定 FFmpeg 的头文件和库文件目录 set(FFMPEG_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/include) set(FFMPEG_LIB_DIR ${CMAKE_SOURCE_DIR}/lib)# 包含 FFmpeg 头文件目录 include_directories(${FFMPEG_INCLUDE_DIR})# 查找 FFmpeg 库 link_directories(${FFMPEG_LIB_DIR})# 添加可执行文件 add_executable(ffmpeg_test main.c)# 链接 FFmpeg 库 target_link_libraries(ffmpeg_testavcodecavformatavutil )# 为了支持动态库可以添加 -Wl,-rpath${FFMPEG_LIB_DIR} 选项 set_target_properties(ffmpeg_test PROPERTIESLINK_FLAGS -Wl,-rpath,${FFMPEG_LIB_DIR} ) 总结 通过本文的步骤我们成功地在 Ubuntu 系统上编译并安装了 FFmpeg。我们还创建了一个简单的 CMake 项目使用 FFmpeg 库实现了一个基础的应用程序验证了库的安装和配置。本文提供的方法不仅适用于 FFmpeg也可以作为其他 C/C 库的编译和集成的参考。通过这样的实践开发者能够更好地掌握库的使用和项目构建的技巧为后续开发打下坚实的基础。
http://www.hkea.cn/news/14594098/

相关文章:

  • 绵阳网站排名织梦做的网站后台
  • h5开发小程序泰安seo公司
  • 企业网站seo方案河北省建设工程
  • 做网站找哪家好网站做语言切换
  • 网站带app建设如何做招聘网站效果分析
  • 品牌大气的网站设计购物网站线下推广办法
  • 网站建设市场拓展岗位wordpress 全站通知
  • 加强企业网站建设的通知淘宝网站做淘宝客
  • 网站设计与开发实例建设通网站会员免费吗
  • 上海定制化网站开发公司延吉市建设局网站
  • app跟网站的区别建行企业网站
  • 网站推广怎么推网站app开发哪家好
  • 网站制作论文致谢wordpress邮件
  • 专业网站搭建定做工作职责怎么写
  • 相亲网站用什么做的微信公众号与网站绑定
  • 天津网站制作的公司电子商务网站的开发方式有哪三种
  • 做网站可以不买域名和主机吗wordpress 更改后台地址
  • 绍兴seo网站优化小生互联免费主机
  • 对网站建设的意见wordpress模板添加授权
  • 类似于wordpress的网站全国最大的机械设备采购平台
  • 怎么做租号网站wordpress 分类 评论
  • 做网站送的企业邮箱能用吗重庆五洲妇儿医院
  • 天津建设工程注册中心网站微营销课程
  • 安徽平台网站建设费用wordpress升级说版本低
  • 网站开发报价标准php网站开发是学什么的
  • 动漫网站策划书小程序开发费用一览表
  • 市住房城乡建设网站官方网站建设专家磐石网络
  • 网站开发维护成本建设工程质量检测网站
  • 企业网站的管理系统上海建站网站建设
  • wap建站程序源码wordpress怎么实现注册功能