新手问题 求助:ffmpeg 或者类似软件如何做视频压缩

fsword · 发布于 2013年5月14日 · 最后由 zeeler 回复于 2013年5月15日 · 8363 次阅读
244

上周六的录像效果还不错,不过我拿到的是原始文件,大约30G,不方便传出去编辑,按说应该压缩一下以后再传播,估计ffmpeg可以,但是我不会捣鼓那些参数,有人知道怎么做吗?,我的环境是linux

共收到 11 条回复
67

FFMPEG用这个编译安装吧(apt-get的话还有一堆东西要搞,如果是Mac可以直接用Brew该有的都用了,而且都是最新的),完了就可以用x264和faac转了 https://github.com/stvs/ffmpeg-static

然后再用这个FFMEG Wrapper Gem 包装一下 https://github.com/streamio/streamio-ffmpeg

67

ffmpeg -i input.mov -s 768x480 -aspect 1.6 /tmp/output.mp4

以上是Streamio-ffmpeg这个Gem生成出来的命令,也可以直接试一下。 注意分辨率和 -aspect 比例就好了。

这是我前段时间转mp4的一些实验 :D

244

#2楼 @_samqiu 多谢,我试试

1411

你先安装ffmpeg和相应的类库(libx264和libfaac,压缩后视频编码是H.264,音频是AAC),现在压缩都是采用H.264 high profile,所以可以这样:

shell脚本:一般如果要压缩质量比较好,都要2个pass

high.sh

$1是源文件,$2是码率,网络传输建议码率是1024k~2048k,$3是分辨率,720p是-1:720,-1表示根据高720保持比例缩放,$4是视频比例,看源视频了,比如4:3, 3:2, 16:9等,$5是输出文件名

1st pass:

ffmpeg -i $1 -vcodec libx264 -vprofile high -preset slow -b:v $2 -maxrate $2 -bufsize 4000k -vf scale=$3 -aspect $4 -threads 0 -pass 1 -an -f mp4 /dev/null

2nd pass:

ffmpeg -i $1 -vcodec libx264 -vprofile high -preset slow -b:v $2 -maxrate $2 -bufsize 4000k -vf scale=$3 -aspect $4 -threads 0 -pass 2 -acodec libfaac -b:a $5 -f mp4 $6

具体使用方法实例: sh high.sh input.avi 2000k -1:720 16:9 output.mp4

244

#4楼 @zeeler 好详细啊,学习先

718

h264效果好文件小。。。。只是转码时间约等于视频播放时间。所以建议你放在服务器上转。

6

@fsword 你在做视频吗?有没有人自告奋勇来处理一下视频,基本就是分段加压码就可以了。

202

ffmpeg -i OutputFile.avi -vcodec libx264 -maxrate 500k -bufsize 1000k -vf scale=-1:480 -threads 0 -f mp4 current.mp4

244

#4楼 @zeeler 试了一下,好像有错误,修改了成下面的还是不行

ffmpeg -i $1 -vcodec libx264 -vprofile high -preset slow -b:v $2 -maxrate $2 -bufsize 4000k -vf scale=$3 -aspect $4 -threads 0 -pass 1 -an -f mp4 -y /dev/null
ffmpeg -i $1 -vcodec libx264 -vprofile high -preset slow -b:v $2 -maxrate $2 -bufsize 4000k -vf scale=$3 -aspect $4 -threads 0 -pass 2 -acodec libfaac -b:a $5 -f mp4
244

#7楼 @yedingding 我先压缩一下,不然传给别人都不容易

1411

#10楼 @fsword 你的ffmpeg什么版本,我的没问题呀,我在Mac OS上用的,经常转码

ffmpeg version 0.11.1 Copyright (c) 2000-2012 the FFmpeg developers built on Aug 28 2012 17:01:49 with clang 4.0 ((tags/Apple/clang-421.0.60)) configuration: --prefix=/usr/local/Cellar/ffmpeg/0.11.1 --enable-shared --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-libfreetype --cc=/usr/bin/clang --host-cflags='-Os -w -pipe -march=native -Qunused-arguments -mmacosx-version-min=10.8' --host-ldflags='-L/usr/local/Cellar/gettext/0.18.1.1/lib -L/usr/local/lib -L/opt/X11/lib' --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libass --enable-libvo-aacenc --disable-ffplay libavutil 51. 54.100 / 51. 54.100 libavcodec 54. 23.100 / 54. 23.100 libavformat 54. 6.100 / 54. 6.100 libavdevice 54. 0.100 / 54. 0.100 libavfilter 2. 77.100 / 2. 77.100 libswscale 2. 1.100 / 2. 1.100 libswresample 0. 15.100 / 0. 15.100 libpostproc 52. 0.100 / 52. 0.100 Hyper fast Audio and Video encoder usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册