`
abc20899
  • 浏览: 928970 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

关于ffmpeg 的总结(一个linux 下 集 屏幕录像录音,音频视频转换,合并音频视频文件,格式转换于一身的命令)

阅读更多
关于ffmpeg 的总结(一个linux 下 集 屏幕录像录音,音频视频转换,合并音频视频文件,格式转换于一身的命令)

当然先安装了 gentoo 下一条命令搞定

emerge  ffmpeg

格式转换 (将file.avi 转换成output.flv)

output.flv

       -i 表示输入文件

:现在有个视频video.avi,有个音频 audio.mp3,将其合并成output.avi

两个命令                     ( video2.avi 是中间文件 ,用完可删)

ffmpeg -i video.avi -vcodec copy -an video2.avi  
ffmpeg -i video2.avi -i audio.mp3 -vcodec copy -acodec copy output.avi

  -vcodec copy 表示 force video codec ('copy' to copy stream) 这个不知怎么译 ,估计是直接copy

  -acodec copy   这个说的应该是音频了   跟上面一样

-an : 表示  disable audio  估计是audio no 之类的缩写   表示去掉video.avi 原有的音频

ffmpeg -i /tmp/a.wav -i /tmp/a.avi /tmp/a.avi 两个文件 的顺序很重
ffmpeg  -i 人生若只如初见.flv  -vn r.mp3  从flv 文件 中提取声音并保存为mp3 格式 

ffmpeg  -i 人生若只如初见.flv  -an  r.flv   只留视频不留声音



ffmpeg -i test.avi -y -f image2 -ss 8 -t 0.001 -s 350x240 test.jpg
-ss 第8秒处 截一图
压缩mp3 文件

如果你觉得mp3 文件 有点大,想变小一点那么可以通过-ab 选项改变音频的比特率 (bitrate)

ffmpeg -i input.mp3 -ab 128 output.mp3    //这里将比特率设为128

z.mp3: Audio file with ID3 version 2.3.0, contains: MPEG ADTS, layer III, v1, 192 kbps, 44.1 kHz, Stereo

mp3中比特率的含义是:在压缩音频文件至mp3时,由压缩软件所确定数码文件在播放时每秒传送给播放器大小,其单位是:千位/秒;英文的含义是:kbps - = kilobits per second。现在mp3文件的最高数位率是320 kbps。这样的文件体积很大,每分钟的音乐超过两兆字节。如果采用可变比特率(VBR)编码来生成mp3文件,获得与320 kbps相当音质,文件的体积会缩小25~50%。请注意:播放时间相同,而歌曲不同,所获的压缩mp3文件的一般不相同,这是因为VBR编码所生成的 mp3文件的大小不仅仅取决于播放时间的长度,还取决于源音频文件的其它因素。





ffmpeg  -f oss -i /dev/dsp   out.avi  (should  hava oss or alsa-oss)

ffmpeg   -f  alsa -ac 2 -i hw:0, 0  out.avi   (should )

ffmpeg   -f alsa -ac 2 -i pulse  (should hava PulseAudio)

   oss 是linux 下的声音相关的东西,与alsa 一样,不过oss 是商业的, 而/dev/dsp 是oss 用到的麦克的设备吧,可以这样理解

ffmpeg -f x11grab -s xga -r 10 -i :0.0+0+0 wheer.avi

ffmpeg -f x11grab  -s 320x240  -r 10 -i :0.0+100+200 wheer.avi

:0:0 表示屏幕(个人理解,因为系统变量$DISPLAY值就是:0.0)  而100,表示距左端100象素,200表示距上端200

-s 设置窗口大小

ffmpeg -f x11grab -s xga    -qscale 5    -r 10 -i :0.0+0+0 wheer.avi

-qscale 8 设定画面质量,值 越小越好

ffmpeg -f oss -i /dev/dsp        -f x11grab -r 30 -s 1024x768 -i :0.0  output.mkv

ffmpeg   -ac 2 -f oss  -i  /dev/dsp   -f x11grab -r 30 -s 1024x768 -i :0.0 -acodec pcm_s16le -vcodec libx264 -vpre lossless_ultrafast -threads 0 output.mkv

看到这,你会发现这个命令有多强大,

如果我屏幕上打开了一个窗口,我只想录这个窗口的内容,如何确定这个窗口的坐标位置呢

可以用另外一个命令

xwininfo 输入这个命令后,用鼠标点选目标窗口,

就会出现目标窗口的坐标,宽高等一系列信息

Absolute upper-left X:  276
  Absolute upper-left Y:  57
  Relative upper-left X:  2
  Relative upper-left Y:  23
  Width: 742
  Height: 499
  Depth: 24
  Visual: 0x21
  Visual Class: TrueColor
  Border width: 0
  Class: InputOutput
  Colormap: 0x20 (installed)
  Bit Gravity State: NorthWestGravity
  Window Gravity State: NorthWestGravity
  Backing Store State: NotUseful
  Save Under State: no
  Map State: IsViewable
  Override Redirect State: no
  Corners:  +276+57  -262+57  -262-244  +276-244
  -geometry 80x24+274+34 看到这一行了没 ()

比如根据上面的信息

ffmpeg -f oss  -i  /dev/dsp      -f  x11grab -r 30  -s 1280x752 -i :0.0+0+23  output.avi
Another thing you can change is the video frame rate (FPS). In the example above we used -r 30 which means capture at 30 FPS. You can change this value to whatever frame rate you want.

这个 -r 30 应该是每秒钟取样几次,估计是一秒截三十次屏,

ffmpeg -ss 00:00:10 -t 00:01:22 -i 五月天-突然好想你.mp3  output.mp3

好像必须先将文件 转成mpg ,dv 等格式的文件后才能进行连接

连接复数的AVI影片档之范例(在此范例中须一度暂时将AVI档转换成MPEG-1档(MPEG-1, MPEG-2 PS, DV格式亦可连接)) ffmpeg -i input1.avi -sameq inputfile_01.mpg -r 20
ffmpeg -i input2.avi -sameq inputfile_02.mpg -r 20
cat inputfile_01.mpg inputfile_02.mpg > inputfile_all.mpg
ffmpeg -i inputfile_all.mpg -sameq outputfile.avi 上面将 input1.avi input2.avi 合并成outputfile.avi

=====================================================================下面是wiki 上给的几个例子
FFmpeg可使用众多参数,参数内容会根据ffmpeg版本而有差异,使用前建议先参考参数及编解码器的叙述。此外,参数明细可用 ffmpeg -h 显示;编解码器名称等明细可用 ffmpeg -formats 显示。

下列为较常使用的参数。

-r 设定FrameRate值,默认为25。 -s 设定画面的宽与高。 -aspect 设定画面的比例。 -vn 不处理影像,于仅针对声音做处理时使用。 -vcodec 设定影像影像编解码器,未设定时则使用与输入档案相同之编解码器。 -ar 设定采样率。 -ac 设定声音的Channel数。 -acodec 设定声音编解码器,未设定时与影像相同,使用与输入档案相同之编解码器。 -an 不处理声音,于仅针对影像做处理时使用。 -vol 设定音量大小,256为标准音量。(要设定成两倍音量时则输入512,依此类推。) 以-b及ab参数设定流量时,根据使用的ffmpeg版本,须注意单位会有kbits/sec与bits/sec的不同。(可用ffmpeg -h显示说明来确认单位。) 例如,单位为bits/sec的情况时,欲指定流量64kbps时需输入‘ -ab 64k ’;单位为kbits/sec的情况时则需输入‘ -ab 64 ’。 以-acodec及-vcodec所指定的编解码器名称,会根据使用的ffmpeg版本而有所不同。例如使用AAC编解码器时,会有输入aac与 libfaac的情况。此外,编解码器有分为仅供解码时使用与仅供编码时使用,因此一定要利用ffmpeg -formats 确认输入的编解码器是否能运作。 将MPEG-1影片转换成MPEG-4格式之范例 ffmpeg -i inputfile.mpg -f mp4 -acodec libfaac -vcodec mpeg4 -b 256k -ab 64k outputfile.mp4
将MP3声音转换成MPEG-4格式之范例 ffmpeg -i inputfile.mp3 -f mp4 -acodec libaac -vn -ab 64k outputfile.mp4
将DVD的VOB档转换成VideoCD格式的MPEG-1档之范例 ffmpeg -i inputfile.vob -f mpeg -acodec mp2 -vcodec mpeg1video -s 352x240 -b 1152k -ab 128k outputfile.mpg将任何影片转换成东芝REGZA可辨识的MPEG2格式之范例 ffmpeg -i inputfile -target ntsc-svcd -ab 128k -aspect 4:3 -s 720x480 outputfile.mpg 连接复数的AVI影片档之范例(在此范例中须一度暂时将AVI档转换成MPEG-1档(MPEG-1, MPEG-2 PS DV格式亦可连接)、
ffmpeg -i input1.avi -sameq inputfile_01.mpg
ffmpeg -i input2.avi -sameq inputfile_02.mpg
cat inputfile_01.mpg inputfile_02.mpg > inputfile_all.mpg
ffmpeg -i inputfile_all.mpg -sameq outputfile.avi
=============================================================================
http://ffmpeg.org/ffmpeg-doc.html
http://ubuntuforums.org/showthread.php?t=1392026
同时搞明白的一些问题
在alsa 体系中声卡(也可能是麦克风,)叫hw:0,0 而在oss 体系中叫/dev/dsp (用词可能不太专业)  Linux

  采集数字样本的
/dev/dsp文件,针对混音器的
/dev/mixer文件,用于音序器的
/dev/sequencer,
/dev/audio文件一个



基于兼容性考虑的声音设备文件。只要向
/dev/audio中输入
wav文件就能发出声音。而对
/dev/dsp文件读取就能得到
WAV文件格式的声音文
件。
分享到:
评论

相关推荐

    音频格式转换的ffmpeg

    FFmpeg 是一个强大的开源工具,用于处理音频和视频文件,包括格式转换。在本文中,我们将深入探讨如何使用 FFmpeg 在 Java 环境中进行 AMR 转 MP3 的操作,以及如何在 Windows 和 Linux 系统上执行这个过程。 首先...

    视频和音频使用ffmpeg进行合并

    FFmpeg是一款强大的开源跨平台工具,用于处理多媒体文件,包括视频、音频的转换、合并、分割等操作。在本文中,我们将深入探讨如何使用FFmpeg将视频和音频进行合并,以便创建一个完整的多媒体文件。 首先,理解...

    ffmpeg实现电脑屏幕录像(opencv实现滤镜)和音频录取

    FFmpeg是一个全面的、跨平台的解决方案,用于处理音频和视频文件,包括录制、转换、流式传输等功能。OpenCV则主要用于计算机视觉,但它也可以用于视频捕获和处理。在这个主题中,我们将深入探讨如何使用这两个工具来...

    ffmpeg视频格式转换

    在Linux环境下,FFmpeg提供了一套完整的命令行工具,使得用户无需复杂的图形界面即可进行视频格式转换。这个工具支持大部分主流的视频编码格式,包括但不限于H.264、VP9、AV1等,同时也处理音频格式如AAC、MP3、FLAC...

    ffmpeg 绝对有用的音频和视频的截取与合并命令

    ffmpeg虽然可以将图片转换成视频并且添加背景音乐,但是背景音乐无法实现轮播,这里的命令可以先将音频先合并,再截取对应时间长度的音频,从而可以实现视频对应长度的背景音乐。

    C# Winfrom调用ffmpeg转换视频格式

    总的来说,通过C# Winform调用ffmpeg,我们可以创建一个用户友好的视频转换工具,不仅可以方便地转换视频格式,还能灵活控制压缩率,适用于个人或企业的多媒体处理需求。不过,要注意在实际开发中,对可能出现的问题...

    基于QT的Ffmpeg抽取音频、视频、格式转换

    在IT领域,尤其是在多媒体处理和开发中,`FFmpeg`是一个不可或缺的工具,它是一个开源的命令行工具,用于处理音频、视频以及流媒体。`FFmpeg`支持各种编码、解码、转换、封装和流化操作。在这个场景中,我们将讨论...

    用java程序调用ffmpeg执行视频文件格式转换flv

    在本文中,我们将深入探讨如何使用Java程序调用FFmpeg执行视频文件格式转换,特别是将非FFmpeg原生支持的格式转换为FLV格式。FFmpeg是一个强大的多媒体处理工具,支持多种视频、音频格式的编码、解码和转换。在这个...

    FFMPEG实现视频格式转换组件-源代码

    FFMPEG是一个强大的开源工具,用于处理音频和视频文件,包括转换、编码、解码、流处理等功能。在本组件中,FFMPEG被用来实现视频格式的转换,这是一个非常实用的功能,尤其对于多媒体开发人员和内容创作者而言。...

    利用ffmpeg,将音频格式转换为mp3的工具,绿色免费

    描述中提到了"通过delphi2010编写的给小白使用的把任意音频文件转换成mp3格式的文件",这表明开发人员使用了Delphi,一个基于Object Pascal的集成开发环境,来创建了一个用户友好的界面,使得不熟悉命令行操作的用户...

    Ffmpeg批量转换视频脚本

    FFmpeg是一款强大的开源跨平台命令行工具,用于处理音频和视频文件。它支持各种编码、解码、转码、合并、分割、裁剪、旋转、调整视频质量等操作。在这个场景中,"Ffmpeg批量转换视频脚本"提供了解决逐个手动转换视频...

    C# Winfrom使用ffmpeg转换视频格式(新)

    FFmpeg是一个强大的跨平台的多媒体处理工具,它支持多种音频和视频编码、解码、转换以及流处理功能。在C#环境中,我们可以通过封装FFmpeg的命令行工具来调用其功能。 首先,我们需要在项目中集成FFmpeg。这通常通过...

    java 视频格式转换-ffmpeg

    FFmpeg是一个开源的命令行工具,用于处理音频和视频文件,包括格式转换、编码、解码、分割、合并等操作。在Java中,我们通常通过调用FFmpeg的命令行接口或者使用已经封装好的Java库来实现这些功能。 FFmpeg本身是一...

    利用ffmpeg视频转换处理

    FFmpeg是一款强大的、开源的多媒体处理工具,广泛用于视频、音频的编码、解码、转换以及流媒体的处理。在Java开发中,我们可以利用FFmpeg的命令行接口或者相关的Java库来实现各种视频处理功能,如视频格式转换、视频...

    java+ffmpeg视频、音频转码

    FFmpeg是一款强大的跨平台命令行工具,用于处理各种音视频格式,包括转码、剪辑、合并等操作。而Java则提供了一个稳定的运行环境和丰富的库来封装FFmpeg的功能,使得在Java应用中调用FFmpeg变得更加便捷。 1. **...

    ffmpeg将一个视频文件解码输出bmp和jpg文件

    FFmpeg是一款强大的开源多媒体处理工具,它支持多种音频、视频格式和协议,可以用来进行视频的编码、解码、转换、流化等操作。在这个场景中,我们将关注如何使用FFmpeg将一个视频文件解码并输出为BMP和JPG图片文件。...

    利用ffmpeg音频g711转pcm

    FFmpeg是一款强大的开源多媒体处理工具,它支持各种音频和视频格式的编码、解码、转换以及流媒体处理。在本文中,我们将深入探讨如何利用FFmpeg将G.711音频格式转换为PCM(脉冲编码调制)音频格式。 G.711是一种...

    ffmpeg无损合并视频

    FFmpeg是一款强大的开源跨平台多媒体处理工具,广泛用于音频、视频的编码、解码、转换、流媒体处理等任务。在“ffmpeg无损合并视频”的场景下,我们主要讨论如何利用FFmpeg将多个视频文件无损地拼接在一起,保持原始...

    将MP4视频和MP4音频合并成MP4文件

    本教程将详细讲解如何将两个MP4文件,一个包含视频流,另一个包含音频流,合并成一个新的MP4文件。我们将关注MP4格式,H264视频编码和AAC音频编码的相关知识,以及实际操作中的延时设置。 首先,理解MP4文件结构至...

Global site tag (gtag.js) - Google Analytics