前段时间想在ubuntu下对视频进行格式转换,多方查找之后,接触了mencoder与ffmpeg。

mencoder

mencoder 是一款命令行方式的视频处理软件,是Mplayer自带的编码工具,所有操作并没有可视化的界面,但是功能极其强大。

命令格式举例:mencoder input.avi -o output.avi -oac mp3lame -lameopts cbr:br=32 -ovc x264 -x264encopts bitrate=440 -vf scale=448:-3

其中:input.avi 是指输入的视频,也就是你要转换的视频。
-o output.avi 中的“-o”是指你要输出视频,输出的视频名为output.avi。
-oac 设置音频编码器。
mp3lame 设置音频编码器为mp3lame,也是就mp3。
-lameopts 设置mp3lamer的相关参数。
cbr:br=32 设置音频的码率为32。
-ovc 设置视频编码器。
x264 设置视频编码器为x264。
-x264encopts 设置x264的参数。
bitrate-440 设置x264的视频的码率为440。
 
以下是一些固定格式(仅供参考):
RMVB转AVI
mencoder .rmvb -oac mp3lame -lameopts preset= -ovc xvid -xvidencopts bitrate= -of avi -o rmvb.avi
RM转AVI
mencoder .rm -oac mp3lame -lameopts preset= -ovc xvid -xvidencopts bitrate= -of avi -o rm.avi
MPEG转AVI
mencoder mp4.mpeg -oac mp3lame -lameopts preset= -ovc xvid -xvidencopts bitrate= -of avi -o mp4.avi
MOV转AVI
mencoder qtime.mov -oac mp3lame -lameopts preset= -ovc xvid -xvidencopts bitrate= -of avi -o qtime.avi
WMV转AVI 包括WMV7到WMV9,只实验到WMV9
mencoder m7.wmv -oac mp3lame -lameopts preset= -ovc xvid -xvidencopts bitrate= -of avi -o m7.avi
RV转AVI
mencoder .rv -oac mp3lame -lameopts preset= -ovc xvid -xvidencopts bitrate= -of avi -o rv.avi
AVI转FLV
ffmpeg -i test.avi -ab -ar -b -r -s 320x240 test.flv
抓图JPG。
ffmpeg -i .wmv -y -f image2 -ss -t 0.001 -s 350x240 test.jpg
3GP转FLV
mencoder -vf scale=: -ffourcc FLV1 -of lavf -lavfopts i_certify_that_my_video_stream_does_not_use_b_frames -ovc lavc -lavcopts vcodec=flv:vbitrate= -srate -oac lavc -lavcopts acodec=mp3:abitrate= ok/.3gp -o ok/3gp.flv
MOV转FLV
mencoder -vf scale=: -ffourcc FLV1 -of lavf -lavfopts i_certify_that_my_video_stream_does_not_use_b_frames -ovc lavc -lavcopts vcodec=flv:vbitrate= -srate -oac lavc -lavcopts acodec=mp3:abitrate= ok/qtime.mov -o ok/mov.flv
RMVB转FLV
mencoder -vf scale=: -ffourcc FLV1 -of lavf -lavfopts i_certify_that_my_video_stream_does_not_use_b_frames -ovc lavc -lavcopts vcodec=flv:vbitrate= -srate -oac lavc -lavcopts acodec=mp3:abitrate= ok/.rmvb -o ok/rmvb.flv
WMV转FLV
mencoder -vf scale=: -ffourcc FLV1 -of lavf -lavfopts i_certify_that_my_video_stream_does_not_use_b_frames -ovc lavc -lavcopts vcodec=flv:vbitrate= -srate -oac lavc -lavcopts acodec=mp3:abitrate= ok/m9.wmv -o ok/m9.flv

ffmpeg

ffmpeg用起来比mancoder相对简单一点:

. 视频转换

比如一个avi文件,想转为mp4,或者一个mp4想转为ts。
ffmpeg -i input.avi output.mp4
ffmpeg -i input.mp4 output.ts
. 提取音频 ffmpeg -i test.mp4 -acodec copy -vn output.aac
上面的命令,默认mp4的audio codec是aac,如果不是,可以都转为最常见的aac。
ffmpeg -i test.mp4 -acodec aac -vn output.aac
. 提取视频 ffmpeg -i input.mp4 -vcodec copy -an output.mp4
. 视频剪切 下面的命令,可以从时间为00::15开始,截取5秒钟的视频。
ffmpeg -ss :: -t :: -i input.mp4 -vcodec copy -acodec copy output.mp4
-ss表示开始切割的时间,-t表示要切多少。上面就是从15秒开始,切5秒钟出来。

mencoder及ffmpeg的基本命令的更多相关文章

  1. ffmpeg常用基本命令(转)

    [FFmpeg]FFmpeg常用基本命令 1.分离视频音频流 ffmpeg -i input_file -vcodec copy -an output_file_video //分离视频流 ffmpe ...

  2. FFmpeg常用基本命令

    FFmpeg常用基本命令 1.分离视频音频流 ffmpeg -i input_file -vcodec copy -an output_file_video //分离视频流 ffmpeg -i inp ...

  3. 【转】ffmpeg常用基本命令

    [FFmpeg]FFmpeg常用基本命令 1.分离视频音频流 ffmpeg -i input_file -vcodec copy -an output_file_video //分离视频流 ffmpe ...

  4. [转] FFmpeg常用基本命令

    [FFmpeg]FFmpeg常用基本命令 1.分离视频音频流 ffmpeg -i input_file -vcodec copy -an output_file_video //分离视频流 ffmpe ...

  5. ffplay的快捷键以及选项 FFmpeg 基本用法 FFmpeg常用基本命令 ffmpeg常用转换命令,支持WAV转AMR

    ffmpeg -i 32_mkv_h264_718x480_ac3.mkv  -codec copy -bsf:v h264_mp4toannexb  -f mpegts xx.ts ./ffmpeg ...

  6. 【FFmpeg】FFmpeg常用基本命令

    1.分离视频音频流 ffmpeg -i input_file -vcodec copy -an output_file_video //分离视频流 ffmpeg -i input_file -acod ...

  7. 【FFmpeg】FFmpeg常用基本命令(转载)

    转自:http://www.cnblogs.com/dwdxdy/p/3240167.html 1.分离视频音频流 ffmpeg -i input_file -vcodec copy -an outp ...

  8. linux 下ffmpeg和mencoder安装

    ffmpeg和mencoder是进行视频转换和视频抽帧的重要开源工具,支持linux和windows环境下的视频转换和视频抽帧操作.本文章记录在linux这两者工具的安装过程.ffmpeg集成视频编码 ...

  9. NET 2.0(C#)调用ffmpeg处理视频的方法

    另外:ffmpeg的net封装库 http://www.intuitive.sk/fflib/ NET 2.0 调用FFMPEG,并异步读取输出信息的代码...public void ConvertV ...

随机推荐

  1. ypeError: __init__() got an unexpected keyword argument 'shape'

    采用TensorFlow支持通过tf.Graph函数来生成新的向量图,代码如下: import tensorflow as tf g1 = tf.Graph() with g1.as_default( ...

  2. Js为Dom元素绑定事件须知

    为异步加载的Dom 元素绑定事件必须在加载完成之后绑定: $('body').load('LearnClickBinding.ashx');$('a').click(function () { ale ...

  3. 「题解」JOIOI 王国

    「题解」JOIOI 王国 题目描述 考场思考 正解 题目描述 点这里 考场思考 因为时间不太够了,直接一上来就着手暴力.但是本人太菜,居然暴力爆 000 ,然后当场自闭- 一气之下,发现对 60pts ...

  4. mysql 通过localhost可以连接IP连接不上

    因为MySQL默认没开 所以需要手动设置 开MySQL启远程连接的功能,在MySQL服务器控制台上执行以下命令: 设置权限: grant all privileges on *.* to 用户名@&q ...

  5. mybatis官方中文文档

    http://www.mybatis.org/mybatis-3/zh/index.html

  6. Day9 - G - Doing Homework HDU - 1074

    有n个任务,每个任务有一个截止时间,超过截止时间一天,要扣一个分.求如何安排任务,使得扣的分数最少.Input有多组测试数据.第一行一个整数表示测试数据的组数第一行一个整数n(1<=n<= ...

  7. Day2-G-Sticks-POJ1011

    George took sticks of the same length and cut them randomly until all parts became at most 50 units ...

  8. Link Analysis_1_Basic Elements

    1. Edge Attributes 1.1 Methods of category 1.1.1 Basic three categories in terms of number of layers ...

  9. Git如何合并Commit

    如果你在 push 你的修改之前想要将本地多次修改后的 commit 合并一下变得更好看,可以使用下面的方法. 指定你要合并的 commit 相关的命令有两种 你可以通过指定修改过去的几个 commi ...

  10. Redis的增删改查 c# key value类型和hash map 类型

    using Newtonsoft.Json; using StackExchange.Redis; using System; using System.Collections.Generic; us ...