ffmpeg在windows和嵌入式平台下使用

一、ffmpeg在windows下的使用

1.1 下载头文件和库文件

  ffmpeg在windows下使用比较简单,只要到官网下载编译好的库即可,下载方法如下所示:

   网址:http://www.ffmpeg.org/download.html

  

  点击步骤3后进入如下所示链接:

  

  这里下载4.4版本,选择ffmpeg-n4.4-latest-win64-gpl-shared-4.4.zip,下载解压后如下所示:

  

  这里面包含了头文件和库,可用vs建立工程使用。

1.2 ffmpeg 命令使用

  如果只是使用ffmpeg 可以下载"ffmpeg-n4.4-latest-win64-lgpl-4.4.zip"只有可执行文件的版本,下载后进入bin目录,打开windows控制终端,如下所示:

  

  在终端中输入ffmpeg.exe -version 命令可以打印ffmepg的版本信息

  

1.3 使用ffplay播放视频

  ffplay 命令参数:

  -i:指定输入的视频源

  -window_title : 显示窗口的名称

       -x:指定显示窗口宽度,也可以指定,使用默认宽度

       -y:指定显示窗口高度,也可以指定,使用默认宽度

  -fflags nobuffer:不使用缓存,这样可以降低视频延时

       -flags low_delay:使用低延时模式播放视频

 

1.3.1 播放网络视频流

  播放rtmp视频流:ffplay -window_title "rtmp video" -x 1200 -y 800 -i rtmp://121.40.52.189/jdp/yy_ch1

       播放rtsp视频流: ffplay -window_title "rtsp video" -x 1200 -y 800 -i rtsp://192.168.2.5:554/ch1

1.3.2 ffplay低延时播放

      ffplay播放视频默认是有缓存和延时的,如果要低延时播放,可以用下面的命令

      低延时播放rtsp视频流: ffplay -fflags nobuffer -flags low_delay  -i rtsp://192.168.2.35:554/ch0

1.3.3 打印log信息

  ffplay可以加-v 9 -loglevel 99 参数打印log信息,这对于排查问题有帮助

  ffplay -v 9 -loglevel 99  -fflags nobuffer -flags low_delay  -i rtsp://192.168.2.35:554/ch0

 

二、在嵌入式平台下使用

  嵌入式平台的芯片各有不同,需要下载ffmpeg源码进行交叉编译,下面以hi3559平台为例说明ffmpeg交叉编译方法。

2.1 ffmepg源码下载

  源码下载地址:http://www.ffmpeg.org/download.html

  

如果下载最新版本点击“Dowload Snapshot”即可,如果下载历史版本,点击“Browse”,进入如下所示链接:

  

这里下载4.4.1版本为例,点击n4.4.1,进入如下链接:

  

点击snapshot,即可下载源码。

2.2 配置编译环境

  执行以下命令配置ffmpeg编译环境:

  ./configure --prefix=/home/yyfage/YY/open_source/build_ffmpeg_hi3559/ --target-os=linux --arch=aarch64 --enable-cross-compile --cc=aarch64-himix100-linux-gcc --disable-ffplay --disable-ffprobe --disable-stripping

  --disable-stripping表示编译不进行strip操作,strip是给程序做瘦身。也可以用strip=arm-linux-strip选项,ffmpeg默认的strip是pc机的strip,如果不设置编译会报错。

2.3 编译、安装

  编译:make

  安装:make install,安装好后,ffmpeg会安装到--prefix这个参数目录下。

  在安装目录下回生成一下几个文件,如图所示:

  

 

  bin:这个目录中有一个ffmpeg可执行程序,如果不需要刻意加--disable-ffmpeg 选项不编译这个

  include:ffmpeg头文件

  lib:静态库,这个目录中有个pkgconfig目录,这个目录中的.pc文件是库的依赖文件信息。从pkg-config命令读取

  share:官方例程在share/ffmpeg/example目录下

2.4 pkg-config环境变量配置

  Makefile文件参考share/ffmpeg/example的Makfile文件,因为Makefile中是使用pkg-config来获取ffmpeg的头文件和库文件信息,先要指定pkg-config命令的环境变量.

  sudo vim /etc/bash.bashrc

  在bash.bashrc文件末尾添加以下内容

  

  source /etc/bash.bashrc

posted @ 2021-04-22 12:01  YYFaGe  阅读(408)  评论(0编辑  收藏  举报