FFmpeg开发环境的构建

总结中有福利

一、相关资源介绍

本文介绍了在Linux平台x86(和x86-64)体系结构上安装ffmpeg编译的过程。

其他嵌入式平台需要交叉编译,过程相似,不详细说明。

本实验在opensuse和Ubuntu平台上都进行了验证。使用Lsb_release -a命令查看系统发行版。

Opensuse平台版本:openSUSE Leap 42.3。

Ubuntu平台版本:Ubuntu 16.04.5 LTS。

1.yasm/NASM

旧式ffmpeg和x264使用yasm汇编程序

Yasm是英特尔x86体系结构上的汇编程序和反汇编程序。Yasm是完全重写的Netwide程序集(NASM)。Yasm通常可与NASM交换,并支持x86和x86-64体系结构。许可协议是修订后的BSD许可证。

其中,Yasm用于在x86平台上编译ffmpeg的某些程序集代码。

Yasm是x86平台汇编程序,因此不需要交叉编译。对于其他平台(如Arm),如果交叉编译工具链包含相应的汇编程序,则在交叉编译时需要-disable-yasm选项。

Yasm主页:

新的ffmpeg和x264版本将转换为nasm汇编程序

网络组装程序(NASM)是基于英特尔x86体系结构的汇编和反汇编工具。NASM被认为是Linux平台上最受欢迎的汇编工具之一。

Ffmpeg工程中实现了h265解码器,但没有实现h265编码器。因此,必须安装第三方编码器x265

4.SDL

简单直接媒体层(SDL)是一个开源跨平台多媒体开发库。SDL提供了多个控制图像、声音和输出输入的函数,封装了复杂的视频和音频基本任务,从而简化了视频和音频处理的困难。目前,SDL在游戏、模拟器、媒体播放器等多媒体应用程序开发中使用较多。

二、编译过程

1.安装路径规划

编译源代码获得的程序资源安装到用户目录/home/think中。安装后,bin、include、lib和share等目录将添加到/home/think目录中

配置环境变量

编辑/etc/profile以添加以下行:

export path=/home/think/bin 3360 $ path

export library _ path=/home/think/lib 3360/home/think/lib 643360 $ library _ path

export pkg _ config _ path=/home/think/lib/pkgconfig 3360 $ pkg _ config _ path

export c _ include _ path=/home/think/include 3360 $ c _ include _ path

1

2

3

4

这些环境变量是编译程序所需的库文件、头文件路径和可执行文件所在的路径。

从命令行运行以下命令,立即应用新设置的环境变量:

源/etc/配置文件

1

配置动态库路径

编辑/etc以添加以下两行:

/home/think/lib

/home/think/lib64

1

2

Ld。的内容是运行程序时需要搜索的动态库路径。

从命令行运行以下命令,立即应用新设置的动态库路径:

Ldconfig

1

2.yasm/nasm

旧式ffmpeg和x264使用yasm汇编程序

Tar -zxvf ya

Cd ya

./configure-prefix=/home/think

Make

Make install

1

2

3

4

5

6

新的ffmpeg和x264版本将转换为nasm汇编程序

确切地说,从哪个版本过渡到nasm并不清楚。

Tar -zxvf na

Cd na

./configure-prefix=/home/think

Make

Make install

1

2

3

4

5

6

3.x264

请从网站下载源软件包la。这是git仓库的主分支源代码。通过手动输入以下地址下载stable分支:

br/>


tar -jxvf la

cd x264-snapshot-20181119-2245-stable/

./configure --prefix=/home/think --enable-shared --enable-static

make

make install

1

2

3

4

5

6

注意第4行配置选项中,未给出–disable-asm选项,则表示启用汇编选项

4. x265


tar -zxvf x265_2.9.

cd x265_2.9/build/linux/

.

在上一行命令运行快结束时,出现cmake配置信息编辑界面,将CMAKE_INSTALL_PREFIX的值改成/home/think

make

make install

1

2

3

4

5

6

7

5. SDL

注意:应先安装SDL,再安装ffmpeg,否则ffmpeg编译时不会生成ffplay

原因如参考资料[3]所述。

两种安装方式,推荐第二种方式,可能遇到的问题比较少

编译源码安装(不推荐)



tar -zxvf SDL2-2.0.9.

cd SDL2-2.0.9/

./configure --prefix=/home/think

make

make install

1

2

3

4

5

6

通过编译源码安装的方式,编译安装成功后运行ffplay可能会遇到挺多问题,参“六、问题描述”

通过软件源在线安装(推荐)

opensuse平台:

zypper install libSDL2-devel

zypper install libSDL2_image-devel

zypper install libSDL2_mixer-devel

zypper install libSDL2_ttf-devel

zypper install libSDL2_gfx-devel

1

2

3

4

5

ubuntu平台:

apt-get install libsdl2-dev

apt-get install libsdl2-image-dev

apt-get install libsdl2-mixer-dev

apt-get install libsdl2-ttf-dev

apt-get install libsdl2-gfx-dev

1

2

3

4

5

6. ffmpeg


tar -jxvf

cd cd

./configure --prefix=/home/think --enable-shared --enable-static --enable-libx264 --enable-libx265 --enable-gpl --enable-pthreads --extra-cflags=-I/home/think/include --extra-ldflags=-L/home/think/lib

make

make install

1

2

3

4

5

6

五、测试

在命令行中运行如下测试命令:

ffmpeg -i bigbuckbunny_480x272.h265 bigbuckbunny_480x272.mp4

ffplay 128x128.264

ffprobe 128x128.264

1

2

3

注意:


远程终端处于控制台命令行模式(运行级别3),无权限调用SDL,因此无法测试ffplay,但可以测试ffmpeg和ffprobe。测试ffplay需要X11控制台模式(运行级别5,即GUI图形模式)。

六、问题记录

1. No available video device

错误提示:

Could not initialize SDL - No available video device

(Did you set the DISPLAY variable?)

原因分析:


解决方法:

a) 安装x11的库文件:

opensuse平台:

zypper install libX11-devel

zypper install xorg-x11-devel

1

2

ubuntu平台:

apt-get install libx11-dev

apt-get install xorg-dev

1

2

b) 重新编译安装SDL

2. Audio target ‘pulse’ not available

错误提示:

Could not initialize SDL - Audio target ‘pulse’ not available

(Did you set the DISPLAY variable?)

原因分析:


解决方法:

a) 安装缺少的库

opensuse平台:

zypper install libpulse-devel

zypper install libasound2

zypper install libasound2-devel // 实测不安装此包也无问题,若软件源中无此包则不必安装

1

2

3

ubuntu平台:

apt-get install libpulse-dev

apt-get install libasound2

apt-get install libasound2-dev

1

2

3

b) 重新编译安装SDL

3. x265 not found using pkg-config

错误提示:

编译ffmpeg,运行./configure --enable-libx265 ...出现如下错误提示:

x265 not found using pkg-config

原因分析:

参考资料[5]

解决方法:

export PKG_CONFIG_PATH=/home/think/lib/pkgconfig:$PKG_CONFIG_PATH


FFMPEG开发必备工具



FFmpeg工具使用总结


一、 FFmpeg是什么?

简单说,FFmpeg就是一个很好的,免费的,开源的视频转换工具。详细说,FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证(依据你选择的组件)。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多codec都是从头开发的。

FFmpeg的官网是:,下载地址:download.html。需要的同学可以从官网自行下载。

官网的解释是:ffmpeg is a command line tool to convert multimedia files between formats.即:ffmpeg是用来转换不同格式的多媒体文件的一个命令行工具。


二、 FFmpeg功能是什么?

FFmpeg有非常强大的功能 ,包括视频采集功能、视频格式转换、视频抓图、给视频加水印等。ffmpeg是用来转换不同格式的多媒体文件的一个命令行工具。

这里重点讲讲视频格式转换功能,ffmpeg视频转换功能。视频格式转换,比如可以将多种视频格式转换为flv格式,可不是视频信号转换 。

ffmpeg可以轻易地实现多种视频格式之间的相互转换(wma,rm,MP4,mod等),例如可以将摄录下的视频MP4等转成现在视频网站所采用的flv格式。

三、 FFmpeg究竟怎么用?

第一,下载FFmpeg。

先根据自己的系统到官网是:下载好对应版本的FFmpeg,下载地址:download.html。一般工具名称为:,解压后可以直接使用该工具了,直接到D:\路径\ffmpeg-20140123-git-e6d1c66-win64-static\bin\ 下,准备好命令行和批处理文件就可以直接转换了。

第二,命令集的简单实用方法

1.获取视频的信息

ffmpeg -i video.MP4

2.将图片序列合成视频

ffmpeg -f image2 -i image%d.jpg video.mpg

上面的命令会把当前目录下的图片(名字如:image1.jpg. image2.jpg. 等...)合并成video.mpg

3.将视频分解成图片序列

ffmpeg -i video.mpg image%d.jpg

上面的命令会生成image1.jpg. image2.jpg. ...

支持的图片格式有:PGM. PPM. PAM. PGMYUV. JPEG. GIF. PNG. TIFF. SGI

4.为视频重新编码以适合在iPod/iPhone上播放

ffmpeg -i input -acodec aac -ab 128kb -vcodec mpeg4 -b 1200kb -mbd 2 -flags +4mv+trell -aic 2 -cmp 2 -subcmp 2 -s 320x180 -title X

说明:

* 源视频:

* 音频编码:aac

* 音频位率:128kb/s

* 视频编码:mpeg4

* 视频位率:1200kb/s

* 视频尺寸:320 X 180

* 生成的视频:

5.为视频重新编码以适合在PSP上播放

ffmpeg -i -b 300 -s 320x240 -vcodec xvid -ab 32 -ar 24000 -acodec aac

说明:

* 源视频:

* 音频编码:aac

* 音频位率:32kb/s

* 视频编码:xvid

* 视频位率:1200kb/s

* 视频尺寸:320 X 180

* 生成的视频:

6.从视频抽出声音.并存为Mp3

ffmpeg -i -vn -ar 44100 -ac 2 -ab 192 -f mp3

说明:

* 源视频:

* 音频位率:192kb/s

* 输出格式:mp3

* 生成的声音:

7.将wav文件转成Mp3

ffmpeg -i -vn -ar 44100 -ac 2 -ab 192 -f mp3

8.将.MP4视频转成.mpg

ffmpeg -i video_origine.MP4 video_

9.将.mpg转成.MP4

ffmpeg -i video_origine.mpg video_

10.将.MP4转成gif动画(未压缩)

ffmpeg -i video_origine.MP4 gi

11.合成视频和音频

ffmpeg -i -i video_origine.MP4 video_

12.将.MP4转成.flv

ffmpeg -i video_origine.MP4 -ab 56 -ar 44100 -b 200 -r 15 -s 320x240 -f flv video_

13.将.MP4转成dv

ffmpeg -i video_origine.MP4 -s pal -r pal -aspect 4:3 -ar 48000 -ac 2 video_

或者:

ffmpeg -i video_origine.MP4 -target pal-dv video_

14.将.MP4压缩成divx

ffmpeg -i video_origine.MP4 -s 320x240 -vcodec msmpeg4v2 video_

15.将Ogg Theora压缩成Mpeg dvd

ffmpeg -i -s 720x576 -vcodec mpeg2video -acodec mp3

16.将.MP4压缩成SVCD mpeg2

NTSC格式:

ffmpeg -i video_origine.MP4 -target ntsc-svcd video_

PAL格式:

ffmpeg -i video_origine.MP4 -target pal-svcd video_

17.将.MP4压缩成VCD mpeg2

NTSC格式:

ffmpeg -i video_origine.MP4 -target ntsc-vcd video_

PAL格式:

ffmpeg -i video_origine.MP4 -target pal-vcd video_

18.多通道编码

ffmpeg -i fichierentree -pass 2 -passlogfile ffmpeg2pass fichiersortie-2

19.从flv提取mp3

ffmpeg -i -ab 128k de

第三,认识ffmpeg的不同编码器

ffmpeg version N-60106-ge6d1c66 Copyright (c) 2000-2014 the FFmpeg developers

built on Jan 22 2014 22:06:20 with gcc 4.8.2 (GCC)

configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av

isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab

le-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetyp

e --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --ena

ble-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-l

ibopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libsp

eex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aa

cenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavp

ack --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib

libavutil 52. 63.100 / 52. 63.100

libavcodec 55. 49.100 / 55. 49.100

libavformat 55. 25.101 / 55. 25.101

libavdevice 55. 5.102 / 55. 5.102

libavfilter 4. 1.100 / 4. 1.100

libswscale 2. 5.101 / 2. 5.101

libswresample 0. 17.104 / 0. 17.104

libpostproc 52. 3.100 / 52. 3.100

Input #0, MP4, from 'E:\FormatTransfer_Tools\ffmpeg\bin\;:

Metadata:

encoder : Lav

Duration: 00:01:32.04, start: 0.000000, bitrate: 5774 kb/s

Stream #0:0: Video: mpeg4 (Simple Profile) (FMP4 / 0x34504D46), yuv420p, 192

0x1080 [SAR 1:1 DAR 16:9], 60 tbr, 60 tbn, 60 tbc

Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, s16p, 128 k

b/s

Invalid encoder type 'xsub'

Encoders:

V..... = Video

A..... = Audio

S..... = Subtitle

.F.... = Frame-level multithreading

..S... = Slice-level multithreading

...X.. = Codec is experimental

....B. = Supports draw_horiz_band

.....D = Supports direct rendering method 1

------

V..... a64multi Multicolor charset for Commodore 64 (codec a64_multi)

V..... a64multi5 Multicolor charset for Commodore 64, extended with 5th color (colram) (codec a64_multi5)

V..... amv AMV Video

V..... asv1 ASUS V1

V..... asv2 ASUS V2

V..... avrp MP4d 1:1 10-bit RGB Packer

V..X.. avui MP4d Meridien Uncompressed

V..... ayuv Uncompressed packed MS 4:4:4:4

V..... bmp BMP (Windows and OS/2 bitmap)

V..... libxavs libxavs Chinese AVS (Audio Video Standard) (codec cavs)

V..... cinepak Cinepak / CVID

V..... cljr Cirrus Logic AccuPak

V..... libschroedinger libschroedinger Dirac 2.2 (codec dirac)

V.S... dnxhd VC3/DNxHD

V..... dpx DPX (Digital Picture Exchange) image

V.S... dvvideo DV (Digital Video)

V.S... ffv1 FFmpeg video codec #1

V..... ffvhuff Huffyuv FFmpeg variant

V..... flashsv Flash Screen Video

V..... flashsv2 Flash Screen Video Version 2

V..... flv FLV / Sorenson Spark / Sorenson H.263 (Flash Video) (codec flv1)

V..... gif GIF (Graphics Interchange Format)

V..... h261 H.261

V..... h263 H.263 / H.263-1996

V.S... h263p H.263+ / H.263-1998 / H.263 version 2

V..... libx264 libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (codec h264)

V..... libx264rgb libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 RGB (codec h264)

V..... huffyuv Huffyuv / HuffYUV

V..X.. jpeg2000 JPEG 2000

V..... libopenjpeg OpenJPEG JPEG 2000 (codec jpeg2000)

V..... jpegls JPEG-LS

V..... ljpeg Lossless JPEG

VFS... mjpeg MJPEG (Motion JPEG)

V.S... mpeg1video MPEG-1 video

V.S... mpeg2video MPEG-2 video

V.S... mpeg4 MPEG-4 part 2

V..... libxvid libxvidcore MPEG-4 part 2 (codec mpeg4)

V..... msmpeg4v2 MPEG-4 part 2 Microsoft variant version 2

V..... msmpeg4 MPEG-4 part 2 Microsoft variant version 3 (codec msmpeg4v3)

V..... msvideo1 Microsoft Video-1

V..... pam PAM (Portable AnyMap) image

V..... pbm PBM (Portable BitMap) image

V..... pcx PC Paintbrush PCX image

V..... pgm PGM (Portable GrayMap) image

V..... pgmyuv PGMYUV (Portable GrayMap YUV) image

VF.... png PNG (Portable Network Graphics) image

V..... ppm PPM (Portable PixelMap) image

VF.... prores Apple ProRes

VF.... prores_aw Apple ProRes (codec prores)

V.S... prores_ks Apple ProRes (iCodec Pro) (codec prores)

V..... qtrle QuickTime Animation (RLE) video

V..... r10k AJA Kona 10-bit RGB Codec

V..... r210 Uncompressed RGB 10-bit

V..... rawvideo raw video

V..... roqvideo id RoQ video (codec roq)

V..... rv10 RealVideo 1.0

V..... rv20 RealVideo 2.0

V..... sgi SGI image

V..... snow Snow

V..... sunrast Sun Rasterfile image

V..... svq1 Sorenson Vector Quantizer 1 / Sorenson Video 1 / SVQ1

V..... targa Truevision Targa image

V..... libtheora libtheora Theora (codec theora)

V..... tiff TIFF image

V..... utvideo Ut Video

V..... v210 Uncompressed 4:2:2 10-bit

V..... v308 Uncompressed packed 4:4:4

V..... v408 Uncompressed packed QT 4:4:4:4

V..... v410 Uncompressed 4:4:4 10-bit

V..... libvpx libvpx VP8 (codec vp8)

V..... libvpx-vp9 libvpx VP9 (codec vp9)

V..... wmv1 Windows Media Video 7

V..... wmv2 Windows Media Video 8

V..... xbm XBM (X BitMap) image

V..... xface X-face image

V..... xwd XWD (X Window Dump) image

V..... y41p Uncompressed YUV 4:1:1 12-bit

V..... yuv4 Uncompressed packed 4:2:0

V..... zlib LCL (LossLess Codec Library) ZLIB

V..... zmbv Zip Motion Blocks Video

A..X.. aac AAC (Advanced Audio Coding)

A..... libvo_aacenc Android VisualOn AAC (Advanced Audio Coding) (codec aac)

A..... ac3 ATSC A/52A (AC-3)

A..... ac3_fixed ATSC A/52A (AC-3) (codec ac3)

A..... adpcm_adx SEGA CRI ADX ADPCM

A..... g722 G.722 ADPCM (codec adpcm_g722)

A..... g726 G.726 ADPCM (codec adpcm_g726)

A..... adpcm_ima_qt ADPCM IMA QuickTime

A..... adpcm_ima_wav ADPCM IMA WAV

A..... adpcm_ms ADPCM Microsoft

A..... adpcm_swf ADPCM Shockwave Flash

A..... adpcm_yamaha ADPCM Yamaha

A..... alac ALAC (Apple Lossless Audio Codec)

A..... libopencore_amrnb OpenCORE AMR-NB (Adaptive Multi-Rate Narrow-Band) (codec amr_nb)

A..... libvo_amrwbenc Android VisualOn AMR-WB (Adaptive Multi-Rate Wide-Band) (codec amr_wb)

A..... comfortnoise RFC 3389 comfort noise generator

A..X.. dca DCA (DTS Coherent Acoustics) (codec dts)

A..... eac3 ATSC A/52 E-AC-3

A..... flac FLAC (Free Lossless Audio Codec)

A..... g723_1 G.723.1

A..... libgsm libgsm GSM (codec gsm)

A..... libgsm_ms libgsm GSM Microsoft variant (codec gsm_ms)

A..... libilbc iLBC (Internet Low Bitrate Codec) (codec ilbc)

A..... mp2 MP2 (MPEG audio layer 2)

A..... mp2fixed MP2 fixed point (MPEG audio layer 2) (codec mp2)

A..... libtwolame libtwolame MP2 (MPEG audio layer 2) (codec mp2)

A..... libmp3lame libmp3lame MP3 (MPEG audio layer 3) (codec mp3)

A..... nellymoser Nellymoser Asao

A..... libopus libopus Opus (codec opus)

A..... pcm_alaw PCM A-law / G.711 A-law

A..... pcm_f32be PCM 32-bit floating point big-endian

A..... pcm_f32le PCM 32-bit floating point little-endian

A..... pcm_f64be PCM 64-bit floating point big-endian

A..... pcm_f64le PCM 64-bit floating point little-endian

A..... pcm_mulaw PCM mu-law / G.711 mu-law

A..... pcm_s16be PCM signed 16-bit big-endian

A..... pcm_s16be_planar PCM signed 16-bit big-endian planar

A..... pcm_s16le PCM signed 16-bit little-endian

A..... pcm_s16le_planar PCM signed 16-bit little-endian planar

A..... pcm_s24be PCM signed 24-bit big-endian

A..... pcm_s24daud PCM D-Cinema audio signed 24-bit

A..... pcm_s24le PCM signed 24-bit little-endian

A..... pcm_s24le_planar PCM signed 24-bit little-endian planar

A..... pcm_s32be PCM signed 32-bit big-endian

A..... pcm_s32le PCM signed 32-bit little-endian

A..... pcm_s32le_planar PCM signed 32-bit little-endian planar

A..... pcm_s8 PCM signed 8-bit

A..... pcm_s8_planar PCM signed 8-bit planar

A..... pcm_u16be PCM unsigned 16-bit big-endian

A..... pcm_u16le PCM unsigned 16-bit little-endian

A..... pcm_u24be PCM unsigned 24-bit big-endian

A..... pcm_u24le PCM unsigned 24-bit little-endian

A..... pcm_u32be PCM unsigned 32-bit big-endian

A..... pcm_u32le PCM unsigned 32-bit little-endian

A..... pcm_u8 PCM unsigned 8-bit

A..... real_144 RealAudio 1.0 ) (codec ra_144)

A..... roq_dpcm id RoQ DPCM

A..X.. s302m SMPTE 302M

A..X.. sonic Sonic

A..X.. sonicls Sonic lossless

A..... libspeex libspeex Speex (codec speex)

A..... tta TTA (True Audio)

A..X.. vorbis Vorbis

A..... libvorbis libvorbis (codec vorbis)

A..... wavpack WavPack

A..... libwavpack (codec wavpack)

A..... wmav1 Windows Media Audio 1

A..... wmav2 Windows Media Audio 2

S..... ass ASS (Advanced SubStation Alpha) subtitle

S..... dvbsub DVB subtitles (codec dvb_subtitle)

S..... dvdsub DVD subtitles (codec dvd_subtitle)

S..... mov_text 3GPP Timed Text subtitle

S..... srt SubRip subtitle with embedded timing

S..... ssa SSA (SubStation Alpha) subtitle

S..... subrip SubRip subtitle

S..... xsub DivX subtitles (XSUB)

第四,实例详解FFmpeg视频转换的参数设置方法

例如:ffmpeg -y -i "; -title "Test" -vcodec xvid -s 1920*1080 -r 30 - b 1500 -acodec aac -ac 2 -ar 24000 -ab 128 -vol 200 -f psp -muxvb 768 "test.***"


# 参数解释:

-y(覆盖输出文件,即如果1.***文件已经存在的话,不经提示就覆盖掉了)

-i "1.MP4"(输入文件是和ffmpeg在同一目录下的1.MP4文件,可以自己加路径,改名字)

-title "Test"(在PSP中显示的影片的标题)

-vcodec xvid(使用XVID编码压缩视频,不能改的)

-s 1920*1080(输出的分辨率为1920*1080,注意片源一定要是16:9的不然会变形)

-r 30(帧数,一般就用这个吧)

-b 1500(视频数据流量,用-b xxxx的指令则使用固定码率,数字随便改,1500以上没效果;还可以用动态码率如:-qscale 4和-qscale 6,4的质量比6高)

-acodec aac(音频编码用AAC)

-ac 2(声道数1或2)

-ar 24000(声音的采样频率,好像PSP只能支持24000Hz)

-ab 128(音频数据流量,一般选择32、64、96、128)

-vol 200(200%的音量,自己改)

-f psp(输出psp专用格式)

-muxvb 768(好像是给PSP机器识别的码率,一般选择384、512和768,我改成1500,PSP就说文件损坏了)

"test.***"(输出文件名,也可以加路径改文件名)

第五,不同格式之间的相互转换

◆将任意视频格式(如MP4)转换成视频格式(如MPEG1)+音频格式(AC3)的视频:

ffmpeg -y -i E:\FormatTransfer_Tools\ffmpeg\bin\ -vcodec mpeg1video –s 1920*1080 –r 60 -acodec ac3 E:\FormatTransfer_Tools\ffmpeg\bin\Video[1920x1080][60fps][MPEG1]_Audio[ac3].mpeg


◆将任意视频格式(如MP4)转换成视频格式(如MPEG2)+音频格式(DTS)的视频:

ffmpeg -y -i E:\FormatTransfer_Tools\ffmpeg\bin\ -vcodec mpeg2video –s 1920*1080 –r 60 -acodec dca -strict -2 E:\FormatTransfer_Tools\ffmpeg\bin\Video[1920x1080][60fps][MPEG2]_Audio[DTS].mpeg


◆将任意视频格式(如MP4)转换成视频格式(如MPEG2)+音频格式(PCM)的视频:

ffmpeg -y -i E:\FormatTransfer_Tools\ffmpeg\bin\ -vcodec mpeg2video –s 1920*1080 –r 60 -acodec pcm_alaw E:\FormatTransfer_Tools\ffmpeg\bin\Video[1920x1080][60fps][MPEG2]_Audio[PCM].mpeg


◆将任意视频格式(如MP4)转换成视频格式(如MPEG4)+音频格式(MP3)的视频:

ffmpeg -y -i E:\FormatTransfer_Tools\ffmpeg\bin\ -vcodec mpeg4 –s 1920*1080 –r 60 -acodec dlibmp3lame E:\FormatTransfer_Tools\ffmpeg\bin\Video[1920x1080][60fps][MPEG4]_Audio[ac3].mpeg


◆将任意视频格式(如MP4)转换成视频格式(如MJPEG)+音频格式(MP2)的视频:

ffmpeg -y -i E:\FormatTransfer_Tools\ffmpeg\bin\ -vcodec mjpeg –s 1920*1080 –r 60 -acodec mp2 E:\FormatTransfer_Tools\ffmpeg\bin\Video[1920x1080][60fps][ MJPEG]_Audio[MP2].mpeg


◆将任意视频格式(如MP4)转换成视频格式(如DivX5)+音频格式(DTS)的视频:

ffmpeg -y -i E:\FormatTransfer_Tools\ffmpeg\bin\Video[1920x1080][60fps][DIVX5]_Audio[AC3].MP4 –s 1920*1080 –r 60 -acodec dca -strict -2 E:\FormatTransfer_Tools\ffmpeg\bin\Video[1920x1080][60fps][DIVX5]_Audio[dts].MP4


◆将任意视频格式(如MP4)转换成视频格式(如H.263)+音频格式(AC3)的视频:

ffmpeg -y -i E:\FormatTransfer_Tools\ffmpeg\bin\ -vcodec h263p -s 720x480 -acodec ac3 E:\FormatTransfer_Tools\ffmpeg\bin\Video[720x480][60fps][h263]_Audio[ac3].MP4


◆将任意视频格式(如MP4)转换成视频格式(如H.264)+音频格式(AAC)的视频:

ffmpeg -y -i E:\FormatTransfer_Tools\ffmpeg\bin\ -vcodec libx264rgb –s 1920*1080 -r 30 -acodec libvo_aacenc E:\FormatTransfer_Tools\ffmpeg\bin\Video[1920x1080][30fps][h264]_Audio[aac].3gp


◆将任意视频格式(如MP4)转换成视频格式(如Sorenson_Spark)+音频格式(MP3)的视频:

ffmpeg -y -i E:\FormatTransfer_Tools\ffmpeg\bin\ -vcodec flv –s 1920*1080 –r 60 -acodec libmp3lame E:\FormatTransfer_Tools\ffmpeg\bin\Video[1920x1080][60fps][Sorenson_Spark]_Audio[MP3].MP4


◆将任意视频格式(如MP4)转换成视频格式(如WMV3)+音频格式(WMA)的视频:

ffmpeg -y -i E:\FormatTransfer_Tools\ffmpeg\bin\ -vcodec wmv3image –s 1920*1080 –r 60 -acodec wmav1 E:\FormatTransfer_Tools\ffmpeg\bin\Video[1920x1080][60fps][WMV3]_Audio[wma1].MP4


◆将任意视频格式(如MP4)转换成视频格式(如XviD)+音频格式(AC3)的视频:

ffmpeg -y -i E:\FormatTransfer_Tools\ffmpeg\bin\ -vcodec libxvid –s 1920*1080 –r 60 -acodec ac3 E:\FormatTransfer_Tools\ffmpeg\bin\Video[1920x1080][60fps][XviD]_Audio[AC3_fixed].MP4


◆将任意视频格式(如MP4)转换成视频格式(如RV)+音频格式(AAC)的视频:

ffmpeg -y -i E:\FormatTransfer_Tools\ffmpeg\bin\ -vcodec rv10 -s 1280x720 -acodec libvo_aacenc E:\FormatTransfer_Tools\ffmpeg\bin\Video[1280x720][60fps][RV10]_Audio[aac].MP4


◆将任意视频格式(如MP4)转换成视频格式(如H.264)+分辨率为4k的视频:

ffmpeg -y -i E:\FormatTransfer_Tools\ffmpeg\bin\ -vcodec libx264rgb -s 4096x2304 -r 30 -acodec libmp3lame E:\FormatTransfer_Tools\ffmpeg\bin\Video[4096x2304][30fps][h264]_Audio[mp3].avi

总结关注+私信免费领取一份99的视频学习资料哦

1.《【雅马哈U8大灯壳】我将花30分钟学习Ffmpeg视频开发和应用程序。》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《【雅马哈U8大灯壳】我将花30分钟学习Ffmpeg视频开发和应用程序。》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/auto/2591918.html