标签归档:ffmpeg

FFmpeg with libfdk_aac for Windows x64


Configuration:

ffmpeg version n4.1.4-ffmpeg-windows-build-helpers Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 8.2.0 (GCC)
  configuration: --pkg-config=pkg-config --pkg-config-flags=--static --extra-version=ffmpeg-windows-build-helpers --enable-version3 --disable-debug --disable-w32threads --arch=x86_64 --target-os=mingw32 --cross-prefix=/home/foxgr/ffmpeg-windows-build-helpers/sandbox/cross_compilers/mingw-w64-x86_64/bin/x86_64-w64-mingw32- --enable-libcaca --enable-gray --enable-libtesseract --enable-fontconfig --enable-gmp --enable-gnutls --enable-libass --enable-libbluray --enable-libbs2b --enable-libflite --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopus --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libzimg --enable-libzvbi --enable-libmysofa --enable-libaom --enable-libopenjpeg --enable-libopenh264 --enable-liblensfun --enable-libvmaf --enable-libsrt --enable-demuxer=dash --enable-libxml2 --enable-nvenc --enable-nvdec --extra-libs=-lharfbuzz --extra-libs=-lm --extra-libs=-lpthread --extra-cflags=-DLIBTWOLAME_STATIC --extra-cflags=-DMODPLUG_STATIC --extra-cflags=-DCACA_STATIC --enable-amf --enable-libmfx --enable-gpl --enable-avisynth --enable-frei0r --enable-filter=frei0r --enable-librubberband --enable-libvidstab --enable-libx264 --enable-libx265 --enable-libxvid --enable-libxavs --enable-avresample --extra-cflags='-mtune=generic' --extra-cflags=-O3 --enable-static --disable-shared --prefix=/home/foxgr/ffmpeg-windows-build-helpers/sandbox/cross_compilers/mingw-w64-x86_64/x86_64-w64-mingw32 --enable-nonfree --enable-decklink --enable-libfdk-aac
  libavutil      56. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter     7. 40.101 /  7. 40.101
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100
Hardware acceleration methods:
cuda
dxva2
qsv
d3d11va
qsv
cuvid         

Build Command (Built using ffmpeg-windows-build-helpers):

 ./cross_compile_ffmpeg.sh --ffmpeg-git-checkout-version=n4.1.4 --disable-nonfree=n --git-get-latest=y --prefer-stable=y --high-bitdepth=y

centos7上利用ffmpeg中转m3u8节目源

现在IPV6还没有普及,有些在IPV6上的电视资源没法通过家里的网络收看,博士网上查了一下资料发现可以用ffmpeg来中转V6网络上的直播资源,下面开始搭建:

在centos7上安装ffmpeg命令:https://www.diannaobos.com/post/708.html

然后在服务器上随便开一个WEB,将下面代码中的路径替换成你自己的WEB目录就可以,节目源也可以替换成自己的,博士测试过m3u8和mp4格式的文件都可以中转播放。Bash

ffmpeg -i "http://iptv.pdsu.edu.cn/hls/natlgeo.m3u8" -c copy -vcodec h264 -f hls -hls_time 2.0 -hls_list_size 5 -hls_wrap 5 /usr/local/caddy/www/aria2/live/ngeo/index.m3u8

上面的iptv是北邮教育网的某个电视频道,执行这个命令后就可以实现通过VPS_IP/live/ngeo/index.m3u8来中转电视直播了,但是首先你的VPS要有可用的IPV6。

同理也可以转换rtmp成为m3u8源Bash

ffmpeg -i rtmp://58.200.131.2:1935/livetv/natlgeo -vcodec h264 -f hls -hls_time 2.0 -hls_list_size 5 -hls_wrap 5 /usr/local/caddy/www/aria2/live/ngeo/index.m3u8

如果出现服务器CPU100%的情况是因为转h264码需要消耗大量性能,只要将-vcodec h264参数删除就可以了。

为了防止程序长时间运行导致中转中断,可以新建一个tv.sh文件

里面放入代码killall -9 ffmpeg或pkill ffmpeg保存

添加一个crontab定时任务00 03 * * * sh /root/tv.sh

这样就可以再每天凌晨3点自动重启ffmpeg

在CentOS 7上安装和使用FFmpeg

FFmpeg是用于处理多媒体文件的免费和开放源代码工具集合。它包含一组共享的音频和视频库,例如libavcodec,libavformat和libavutil。使用FFmpeg,您可以在各种视频和音频格式之间转换,设置采样率,捕获流音频/视频和调整视频大小。

本教程将引导您逐步在CentOS 7上安装FFmpeg。

先决条件

为了能够添加新的存储库并在CentOS系统上安装软件包,您必须以具有sudo权限的用户身份登录

在CentOS上安装FFmpeg

FFmpeg在CentOS 7核心存储库中不可用。您可以选择从源代码构建FFmpeg工具,也可以使用Nux Dextop存储库中的yum进行安装。我们将选择第二个选项。

执行以下步骤在CentOS 7上安装FFmpeg:

Nux资料库取决于 EPEL 软件资料库。如果您的系统上未启用EPEL存储库,请通过键入以下内容启用它:

sudo yum install epel-release

Copy

接下来,导入存储库GPG密钥并通过安装rpm软件包来启用Nux存储库

sudo rpm -v --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

Copy

一旦启用存储库,安装FFmpeg:

sudo yum install ffmpeg ffmpeg-devel

Copy

通过运行ffmpeg -version命令验证FFmpeg安装:

ffmpeg -version

Copy

在撰写本文时,Nux Dextop存储库中可用的FFmpeg的当前版本为2.8.15

ffmpeg version 2.8.15 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-28)
...

Copy

就是这样。 FFmpeg已安装在您的CentOS计算机上。

FFmpeg示例

在本节中,我们将看一些有关如何使用ffmpeg实用程序的基本示例。

基本转换

ffmpeg转换音频和视频文件时,不必指定输入和输出格式。自动检测到输入文件格式,并从文件扩展名中猜测输出格式。

将视频文件从mp4转换为webm:

ffmpeg -i input.mp4 output.webm

Copy

将音频文件从mp3到ogg:

ffmpeg -i input.mp3 output.ogg

Copy

指定编解码器

转换文件时,可以通过-c选项指定要使用的编解码器。编解码器可以是任何受支持的解码器/编码器的名称,也可以是仅复制输入流的特殊值copy

使用libvpx视频编解码器和libvorbis音频编解码器将视频文件从mp4转换为webm:

ffmpeg -i input.mp4 -c:v libvpx -c:a libvorbis output.webm

Copy

将音频文件从mp3转换为使用libopus编解码器编码的ogg。

ffmpeg -i input.mp3 -c:a libopus output.ogg

Copy

结论

您已在CentOS 7上成功安装了FFmpeg。您现在可以访问 FFmpeg官方文档页面,并学习如何使用FFmpeg转换视频和音频文件。

如果您遇到问题或有反馈,请在下面发表评论。