当前位置:首页 » 编程软件 » ffmpeg编程

ffmpeg编程

发布时间: 2022-06-14 02:05:06

1. linux ffmpeg 怎么编64位

1、下载ffmpeg。
下载网址:http://www.ffmpeg.org/download.html
2、解压缩
tar -zxvf ffmpeg-2.0.1.tar.gz
3、配置,生成Makefile
./configure --enable-shared --disable-yasm --prefix=/usr/local/ffmpeg
如果执行结果不对,可以根据提示信息,并查看帮助,解决问题
./configure --help
4、编译安装
make
make install
5、安装之后在/usr/local/ffmpeg会看到有三个目录
bin 执行文件目录
lib 静态,动态链接库目录
include 编程用到的头文件
为了防止执行程序找不到库文件,
可以将/usr/local/ffmpeg/lib目录设置到LD_LIBRARY_PATH环境变量,
或者查看/usr/local/ffmpeg/lib下所有的链接,并在/usr/lib下建立同样的链接。如下。
ln -s /usr/local/ffmpeg/lib/libavcodec.so /usr/lib/libavcodec.so
ln -s /usr/local/ffmpeg/lib/libavdevice.so /usr/lib/libavdevice.so
ln -s /usr/local/ffmpeg/lib/libavfilter.so /usr/lib/libavfilter.so
ln -s /usr/local/ffmpeg/lib/libavformat.so /usr/lib/libavformat.so
ln -s /usr/local/ffmpeg/lib/libavutil.so /usr/lib/libavutil.so
ln -s /usr/local/ffmpeg/lib/libswresample.so /usr/lib/libswresample.so
ln -s /usr/local/ffmpeg/lib/libswscale.so /usr/lib/libswscale.so
ln -s /usr/local/ffmpeg/lib/libavcodec.so /usr/lib/libavcodec.so.55
ln -s /usr/local/ffmpeg/lib/libavdevice.so /usr/lib/libavdevice.so.55
ln -s /usr/local/ffmpeg/lib/libavfilter.so /usr/lib/libavfilter.so.3
ln -s /usr/local/ffmpeg/lib/libavformat.so /usr/lib/libavformat.so.55
ln -s /usr/local/ffmpeg/lib/libavutil.so /usr/lib/libavutil.so.52
ln -s /usr/local/ffmpeg/lib/libswresample.so /usr/lib/libswresample.so.0
ln -s /usr/local/ffmpeg/lib/libswscale.so /usr/lib/libswscale.so.2

这时就需要在/etc/ld.so.conf下面加一行/usr/local/ffmpeg/lib,保存过后ldconfig一下,

这时就需要在/etc/ld.so.conf下面加一行/usr/local/MySQL/lib,保存过后ldconfig一下,

6、编译测试程序
gcc -o ffmpegtest ffmpegtest.c -I/usr/local/ffmpeg/include -L/usr/local/ffmpeg/lib -lavformat -lavcodec -lavtuil
7、执行程序
./ffmpegtest
或直接执行/usr/local/ffmpeg/lib目录下的./ffmpeg进行测试。

2. ffmpeg是基于什么语言编写的

很负责人的告诉你 是用c语言写的 是个庞然大物 集成了编码解码等功能 里面按功能划分成了几个库 也依赖了一些其他的库 FFmpeg被应用于很多的播放器甚至是商业产品中 比如暴风影音 QQ影音等播放器都是基于它开发的 你可以在GitHub上或者FFmpeg官网上找到它的源码

3. linux服务器怎么安装ffmpeg

1、下载ffmpeg。
2、解压缩 tar -zxvf ffmpeg.tar.gz
3、编辑profile文件:

vi /etc/profile
在文件末尾加上两句话:
export FFMPEG_HOME=/usr/local/ffmpeg
export PATH=$FFMPEG_HOME/bin:$PATH
4、配置安装路径之类的:
./configure --enable-shared --prefix=/usr/local/ffmpeg
--enable-shared 参数据说是允许其编译产生动态库,在以后的编程中要用到这个几个动态库。
如果出现异常,提示因为缺少yasm,需要添加参数,再执行以下命令:
./configure --enable-shared --disable-yasm --prefix=/usr/local/ffmpeg
如果执行结果不对,可以根据提示信息,并查看帮助,解决问题
./configure --help
5、编译安装
make
make install
6、安装之后在/usr/local/ffmpeg会看到有三个目录
bin 执行文件目录
lib 静态,动态链接库目录
include 编程用到的头文件
7、为了防止执行程序找不到库文件,
可以将/usr/local/ffmpeg/lib目录设置到LD_LIBRARY_PATH环境变量
8、若出现error while loading shared libraries: libavdevice.so.52的错误
修改/etc/ld.so.conf 在最后一行加上/usr/local/ffmpeg/lib
ldconfig -v
并修改 /usr/local/ffmpeg/lib目录下的文件权限为777

4. 谁有ffmpeg的使用教程,剪切视频失败了

这篇文章主要介绍了PHP中使用FFMPEG获取视频缩略图和视频总时长实例,需要的朋友可以参考下 代码如下: //获得视频文件的缩略图 function getVideoCover($file,$time,$name) { if(empty($time))$time = '1';//默认截取第一秒第一帧 $strlen = strlen($file); // $videoCover = substr($file,0,$strlen-4); // $videoCoverName = $videoCover.'.jpg';//缩略图命名 //exec("ffmpeg -i ".$file." -y -f mjpeg -ss ".$time." -t 0.001 -s 320x240 ".$name."",$out,$status); $str = "ffmpeg -i ".$file." -y -f mjpeg -ss 3 -t ".$time." -s 320x240 ".$name; //echo $str." "; $result = system($str); } //获得视频文件的总长度时间和创建时间 function getTime($file){ $vtime = exec("ffmpeg -i ".$file." 2>&1 grep 'Duration' cut -d ' ' -f 4 sed s/,//");//总长度 $ctime = date("Y-m-d H:i:s",filectime($file));//创建时间 //$ration = explode(":",$time); // $ration_in_seconds = $ration[0]*3600 + $ration[1]*60+ round($ration[2]);//转化为秒 return array('vtime'=>$vtime, 'ctime'=>$ctime ); } 注:更多精彩文章请关注三联编程教程栏目。

5. 如何安装linux系统下的ffmpeg

linux下安装ffmpeg1、下载ffmpeg。2、解压tar xvfj ffmpeg-0.11.1.tar.bz2得到解压后的目录是ffmpeg-0.11.13、配置 ./configure --enable-shared --prefix=/usr/local/ffmpeg其中:--enable-shared 是允许其编译产生动态库,在以后的编程中要用到这个几个动态库。--prefix设置的安装目录。4、编译并安装makemake install5、安装之后在/usr/local/ffmpeg会看到有四个目录lib 动态链接库位置include 编程要用到头文件bin 执行文件所在的目录 share6、为了以后方便编程,我们把lib中的三个链接库libavcodec.so libavformat.so libavutil.so复制到/usr/lib下。把include目录下的ffmpeg目录复制到/usr/include下。执行bin目录下的ffplay,可以去播放音频或者视频文件。例如播放1.mp3./ffplay 1.mp3 另外,bin目录下还有两个文件:ffmpeg和ffserverffmpeg是一个很好的视频和音频的格式转化工具。网上有很多它的说明文档。如果不想生成ffserver,只要在./configure的时候加--disable-ffserver即可。7、编程如果写了一个test.c文件,要包含ffmpeg的头文件,可以这样写:#include 编译:gcc -o test test.c -lavformat -lavcodec -lavtuil (前提是有第6步的操作)如果没有第6部的操作,则编译的时候如下: gcc -o test test.c -I/usr/local/ffmpeg/include -L/usr/local/ffmpeg/lib -lavformat -lavcodec -lavtuil编译成功之后,执行的时候还是需要动态库的支持,还是要把那三个动态库文件复制到/usr/lib或者/lib中,不然执行的时候会说找不到动态库链接。还有一个方法可以解决这个问题,就是把/usr/local/ffmpeg/lib这个目录加入到/etc/ld.so.config中,然后执行ldconfig,或者重启电脑,这样执行的时候系统就可以从/usr/local/ffmpeg/lib这个目录下去找这三个动态库文件了。以上的方式是采用动态库编译ffmpeg的,如果在configure的时候不加上--enable-shared的,则采用静态链接的方式,不会生成那三个动态库。同时生成的ffplay、ffmpeg的执行文件也比较的大,因为他们不需要动态库的支持,就可以执行。但是不利于再次开发,所以我采用动态链接的方式。configure中还有很多的选项,可以通过./configure --help查看,也可以直接查看configure文件。这在配置的时候很重要。

6. linux下怎么变异ffmpeg

1、下载ffmpeg。

wget http://down1.chinaunix.net/distfiles/ffmpeg-0.4.9-p20051120.tar.bz2

我是在这个网址上下载ffmpeg-0.4.9-p20051120.tar.bz2,看网上有人用的是svn下载,但是我的机子中没有svn客户端,然后就在网上搜索,下载了这个版本。如果利用svn可以下载ffmpeg最新的版本。

svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg

2、解压

tar xvfj ffmpeg-0.4.9-p20051120.tar.bz2

得到解压后的目录是ffmpeg-0.4.9-p20051120,名字太长,利用mv命令改为ffmpeg

mv ffmpeg-0.4.9-p20051120.tar.bz2 ffmpeg

3、配置

./configure --enable-shared --prefix=/usr/local/ffmpeg

其中:--enable-shared 是允许其编译产生动态库,在以后的编程中要用到这个几个动态库。--prefix设置的安装目录。

4、编译并安装

make
make install

5、安装之后在/usr/local/ffmpeg会看到有三个目录

lib 动态链接库位置
include 编程要用到头文件
bin 执行文件所在的目录

6、为了以后方便编程,我们把lib中的三个链接库libavcodec.so libavformat.so libavutil.so复制到/usr/lib下。把include目录下的ffmpeg目录复制到/usr/include下。

这里我这样复制了还是不对,-lavcodec -lavutil -lavformat的时候,提示找不到库
然后我把 /usr/local/ffmpeg/lib 所有文件复制到 /usr/local/lib才可以的
执行bin目录下的ffplay,可以去播放音频或者视频文件。例如播放1.mp3

./ffplay 1.mp3

另外,bin目录下还有两个文件:ffmpeg和ffserver

ffmpeg是一个很好的视频和音频的格式转化工具。网上有很多它的说明文档。如果不想生成ffserver,只要在./configure的时候加--disable-ffserver即可。

7、编程

如果写了一个test.c文件,要包含ffmpeg的头文件,可以这样写:

#include

编译:gcc -o test test.c -lavformat -lavcodec -lavtuil (前提是有第6步的操作)

如果没有第6部的操作,则编译的时候如下:

gcc -o test test.c -I/usr/local/ffmpeg/include -L/usr/local/ffmpeg/lib -lavformat -lavcodec -lavtuil

编译成功之后,执行的时候还是需要动态库的支持,还是要把那三个动态库文件复制到/usr/lib或者/lib中,不然执行的时候会说找不到动态库链接。还有一个方法可以解决这个问题,就是把/usr/local/ffmpeg/lib这个目录加入到/etc/ld.so.config中,然后执行 ldconfig,或者重启电脑,这样执行的时候系统就可以从/usr/local/ffmpeg/lib这个目录下去找这三个动态库文件了。

以上的方式是采用动态库编译ffmpeg的,如果在configure的时候不加上--enable-shared的,则采用静态链接的方式,不会生成那三个动态库。同时生成的ffplay、ffmpeg的执行文件也比较的大,因为他们不需要动态库的支持,就可以执行。但是不利于再次开发,所以我采用动态链接的方式。configure中还有很多的选项,可以通过./configure --help查看,也可以直接查看configure文件。这在配置的时候很重要。

7. ffmpeg开发待遇

ffmpeg开发是音频开发工作者,缺口很大,薪资待遇十分不错,很多都在1.5万以上了。

音视频流媒体开发,工作机会占80% 都在跑这个流程:

音视频采集—>编码 —>组包—>tcp/udp网络编程—>推流—>流媒体转发—>客户端拉流—>socket通讯—>解码—>渲染。

这其中会用到ffmpeg的,就是最后那部分很小的,解码那个阶段。iOS上甚至都不需要ffmpeg。

我们大部分时候,都在这个流程中,做一个小功能,可能一做就是一年,两年,三年。这个流程,可能是一个很大的研发团队在做。年投入可能是百万,千万级别的。

另外20%的工作机会,在音视频处理。最近几年火起来的,各种AR特效,贴纸,美颜(opencv)。

还有新一代视频编辑软件(也是各种特效),都是基于OpenGL shader来做。 这个方面,用到ffmpeg也非常少。 最多是加载下视频,最后保存下视频。

所以音视频开发工程师,简单概括起来, 要么做流媒体开发,要么音视频处理开发。

音视频开发的前景,从相关的招聘网站上就可以看到,不管是流媒体开发还是音视频处理开发,都是大量招人的,并且由于入门门槛相对较高,学习周期长,薪资也是居高不下。

总结如下:

音视频目前的开发前进是很好的,随着5G时代的到来,再加上这次的疫情让在线会议和在线教育一下子进入了大家的视野,让大家更了解音视频是什么了。再加上现在的直播行业也是很火爆的,所以现在可以说是音视频的好时代。




8. Qt下使用ffmpeg编程的库连接问题

这个函数定义在FFmpegSDK\include\libavutil文件夹下的commom.h文件里,你只要在工程的c++\\include里面包含这个路径就行了

9. FFmpegFrameRecorder不支持ASF格式吗

FFmpegFrameRecorder支持ASF格式。FFmpegFrameRecorder是构造函数为各种编程语言所调用。

10. ffmpeg 用什么开发的

FFmpeg是一个集录制、转换、音/视频编码解码功能为一体的完整的开源解决方案。FFmpeg的开发是基于Linux操作系统,但是可以在大多数操作系统中编译和使用。FFmpeg支持MPEG、DivX、MPEG4、AC3、DV、FLV等40多种编码,AVI、MPEG、OGG、Matroska、ASF等90多种解码.TCPMP, VLC, MPlayer等开源播放器都用到了FFmpeg。

热点内容
内置存储卡可以拆吗 发布:2025-05-18 04:16:35 浏览:333
编译原理课时设置 发布:2025-05-18 04:13:28 浏览:374
linux中进入ip地址服务器 发布:2025-05-18 04:11:21 浏览:609
java用什么软件写 发布:2025-05-18 03:56:19 浏览:30
linux配置vim编译c 发布:2025-05-18 03:55:07 浏览:105
砸百鬼脚本 发布:2025-05-18 03:53:34 浏览:940
安卓手机如何拍视频和苹果一样 发布:2025-05-18 03:40:47 浏览:736
为什么安卓手机连不上苹果7热点 发布:2025-05-18 03:40:13 浏览:800
网卡访问 发布:2025-05-18 03:35:04 浏览:507
接收和发送服务器地址 发布:2025-05-18 03:33:48 浏览:369