linux在系统资源利用上确实要比windows强很多,所以对于转码工作我们也放到linux平台上,下面就来讲下在linux配置ffmpeg来打造一个转码的环境。
首先我们需要以下的解码包,地址如下
xvidcode http://www.xvid.org/Downloads.43.0.html#c23
yasm http://www.tortall.net/projects/yasm/wiki/Download
amr code http://www.penguin.cz/~utx/amr
faac http://sourceforge.net/project/showfiles.php?group_id=704
lame http://sourceforge.net/project/showfiles.php?group_id=290&package_id=309
其他解码 http://www.mplayerhq.hu/MPlayer/releases/codecs/
ffmpeg http://www.ffmpeg.org/download.html
x264 http://downloads.videolan.org/pub/videolan/x264/snapshots/
使用包如下
amrnb-7.0.0.2.tar.bz2
amrwb-7.0.0.3.tar.bz2
faac-1.28.tar.bz2
faad2-2.7.tar.bz2
lame-398-2.tar.gz
yasm-0.8.0.tar.gz
x264-snapshot-20090426-2245.tar.bz2 这个可以去上面的网站下载最新的snapshot文件
xvidcore-1.2.1.tar.gz
ffmpeg-checkout-snapshot.tar.bz2 这个可以去上面的网站下载最新的checkout文件,当然也可以使用svn获取最新的文件
其他编码的解码插件请下载all-20071007.tar.bz2包就行了
下面就来说下安装步骤,总体来说安装步骤还是很容易的,讲所有下载好的包放到当前用户根目录下的ffmpeg文件夹中
cd ~/ffmpeg/ cd ~/ffmpeg/ cd ~/ffmpeg/ cd ~/ffmpeg/ cd ~/ffmpeg/ cd ~/ffmpeg/ cd ~/ffmpeg/ cd ~/ffmpeg/ cd ~/ffmpeg/ mkdir -p /usr/local/lib/codes |
以上安装完毕之后,编辑/etc/ld.so.conf文件加入如下内容
/usr/local/lib
保存退出后执行ldconfig命令,然后执行ffmpeg命令就能看到如下显示了
FFmpeg version SVN-r18631, Copyright (c) 2000-2009 Fabrice Bellard, et al. configuration: --enable-gpl --enable-shared --enable-libmp3lame --enable-libvorbis --enable-libamr-nb --enable-libamr-wb --enable-libxvid --enable-libx264 --enable-libfaac --enable-libfaad --enable-libfaadbin --enable-pthreads --disable-ffserver --disable-ffplay --enable-nonfree --enable-postproc --extra-ldflags=-ldl libavutil 50. 3. 0 / 50. 3. 0 libavcodec 52.27. 0 / 52.27. 0 libavformat 52.32. 0 / 52.32. 0 libavdevice 52. 2. 0 / 52. 2. 0 libswscale 0. 7. 1 / 0. 7. 1 libpostproc 51. 2. 0 / 51. 2. 0 built on Apr 27 2009 15:23:16, gcc: 4.1.2 20071124 (Red Hat 4.1.2-42) |
可能各位的显示结果会和我的不同。
以上配置完毕后,生产mp4文件的转码系统就算是搭建好了,不过这样生产出来的mp4文件是不支持渐进式下载的,所以还需要对生产出来的mp4文件进行处理,那个就是MP4Box这个软件的工作了,接下来就讲下MP4Box安装步骤
yum -y install freeglut yum -y install freeglut-devel wget http://downloads.sourceforge.net/gpac/gpac-0.4.5.tar.gz wget http://downloads.sourceforge.net/gpac/gpac_extra_libs-0.4.5.tar.gz tar zxvf gpac-0.4.5.tar.gz tar zxvf gpac_extra_libs-0.4.5.tar.gz cd gpac cp -r ../gpac_extra_libs/* extra_lib/ chmod +x configure ./configure make lib make apps make install cp bin/gcc/libgpac.so /usr/lib |
再安装完MP4Box之后同样要执行一次ldconfig命令,然后执行MP4Box -version命令后可以看到如下内容
# MP4Box -version MP4Box - GPAC version 0.4.5 (build 33) GPAC Copyright: (c) Jean Le Feuvre 2000-2005 (c) ENST 2005-200X |
这样一来所有的工作就都做完了,剩下的就是按照自己的需要写ffmpeg的转码脚本了
问题解决:
在安装MP4Box的时候可能会出现下面的问题
/usr/bin/ld: skipping incompatible /usr/lib/libGL.so when searching for -lGL/usr/bin/ld: cannot find -lGLcollect2: ld returned 1 exit statusmake[1]: *** [libgpac.so] Error 1make[1]: Leaving directory `/root/gpac/src'make: *** [lib] Error 2
原因是mesa-libGL-devel这个包可能不完整,直接使用yum -y install mesa-libGL-devel命令把这个包安装一下,然后在make的时候就正常了。
相关推荐
ffmpeg服务器转换视频切片上传oss服务,ffmpeg将mp4视频转m3u8、ts,上传oss实现项目视频分片加载,防用户下载
本篇将深入探讨如何使用FFmpeg在Linux系统中获取视频流。 一、FFmpeg基础 FFmpeg是由Fabrice Bellard发起的开源项目,其核心是一个库——libavcodec,用于编码/解码,libavformat用于处理容器格式,libavfilter用于...
完成上述步骤后,你就可以在Linux终端中使用`ffmpeg`命令来执行各种多媒体处理任务了。例如,你可以使用`ffmpeg -i input.mp4 output.mp3`来将一个MP4视频转换为MP3音频。 FFmpeg的使用非常灵活,通过命令行参数...
在部署和使用这个RTSP服务器时,需要了解基本的Linux命令行操作,以及FFmpeg和RTSP协议的相关知识。开发者可以通过修改源代码、调整FFmpeg配置来定制服务器的行为,比如增加新的编码支持、优化性能等。同时,为了...
FFmpeg是一个开源项目,提供了一套跨平台的音频和视频处理工具,包括解码、编码、转码、封装、过滤和播放等多种功能。在你提供的资料中,`ffmpeg-3.4.8-rtmp-hevc-src-linux.zip` 是一个针对Linux平台的FFmpeg源码包...
- **FFmpeg**是一款强大的跨平台音视频处理工具集,能够进行音视频的编码、解码、转码、复用、解复用、流媒体传输、滤镜处理等功能。 - 它包含了一系列用于处理多媒体数据的库和程序,如`ffmpeg`(命令行工具)、`...
总结,本项目提供了C#环境下使用FFmpeg进行视频转码的解决方案,包括从本地或在线源拉取视频流,转码为TS格式或其他格式。在实际应用中,开发者需要考虑各种因素,如错误处理、性能优化和用户体验,以实现高效、可靠...
总之,FFmpeg是一个功能强大的多媒体处理工具,通过在Linux上编译安装,我们可以根据需求定制功能,同时利用其API和命令行工具实现各种音视频处理任务,包括但不限于视频转码、流媒体服务器的搭建等。理解FFmpeg的...
为解决该问题,提出了使用中间服务器配置开源 FFmpeg 的解决方案。 背景 -------- 公司最近有个项目,需要将几个景点的监控摄像头在安卓机顶盒和 AVB 中间件机顶盒上做网络直播播放。如果不通过设备中继,让机顶盒...
在嵌入式Linux系统中使用FFmpeg,首先需要将其移植到目标平台。这包括配置编译选项,确保库文件与硬件架构兼容,以及解决依赖问题。移植过程中可能涉及到交叉编译、裁剪功能以适应资源有限的环境,以及优化性能以...
这个压缩包文件 "ffmpeg_by_lenovo_ccc" 提供了一个一键安装脚本 `sh` 文件,简化了在Linux系统上安装FFmpeg的过程。 首先,让我们深入了解FFmpeg的安装过程。通常,Linux系统中的软件包管理器如apt(Debian/Ubuntu...
2. **支持Linux和Windows平台**:这强调了跨平台兼容性,使得开发者和用户在不同操作系统环境下都能使用 FFmpeg。 3. **可转换多种格式**:FFmpeg 的一大特性就是支持多种音频、视频和图像格式的转换,包括常见的如 ...
FFmpeg是一个开源项目,用于处理音频和视频的多媒体框架,其功能包括编码、解码、转码、流媒体以及各种转换。在这个“ffmpeg4.2.4-rtmp-hevc-src-linux”压缩包中,我们关注的是FFmpeg的4.2.4版本,特别针对Linux...
FFmpeg的安卓端动态库(linux_andriod_ffmpeg_lib)使得开发者能够在Android应用中实现音视频的编码、解码、转码、播放等功能。由于Android设备的硬件多样性,FFmpeg库需要针对不同的CPU架构进行优化,本资源包提供...
在本文中,我们将深入探讨如何使用FFmpeg实现一个最简单的基于RTMP(Real-Time Messaging Protocol)的推流器,这允许你将本地视频内容实时推送到流媒体服务器,如YouTube Live、Twitch等。 首先,让我们理解RTMP...
这意味着开发者可以使用同一套源代码为不同类型的ARM设备构建FFmpeg,减少了维护和适配的工作量。 版本号 "N-92407-gfd1d735" 是FFmpeg的一个开发版本,表示它是在主线分支的第92407次提交后的某个版本,gfd1d735是...
接下来,我们需要在Linux服务器上安装FFMPEG,这是一个强大的音频和视频处理工具。同时,为了实现H264编码,还需要安装h264编码器。在CentOS 5.4环境下,可以按照以下步骤进行安装: 1. 解压缩h264扩展的源代码包,...
《rtsp-video-server:Live555与FFmpeg构建实时RTSP视频流服务器解析》 在信息技术领域,视频流服务已经成为不可或缺的一部分,特别是在实时通信、监控系统和在线视频平台等应用中。本文将深入探讨一个名为"rtsp-...
在这个场景下,我们将讨论如何在Gnome环境下使用FFmpeg将本地桌面推送到RTMP服务器,实现视频直播。 首先,让我们了解基本概念: 1. **Ubuntu**:Ubuntu是基于Debian的Linux发行版,以其易用性和稳定性受到全球...
在Linux环境中部署视频服务,尤其是使用Red5和FFmpeg,是一项关键任务,因为这涉及到多媒体内容的处理和分发。Red5是一个开源流媒体服务器,它支持RTMP、HLS和RTSP等协议,而FFmpeg则是一个强大的跨平台多媒体处理...