无名阁

美好的生活需要用心记录

用ffmpeg录制屏幕

2013-1-15 笑看风云 linux知识

ffmpeg录制视频的方法很简单,就下面一条命令:


ffmpeg -f alsa -ac 1 -i pulse -acodec aac -f x11grab -s 1024x600 -i :0.0 -sameq  a.mp4
这条命令不但可以录制屏幕,还可以录制声音,其中录制声音的部分是:



-f alsa -ac 1 -i pulse -acodec aac
录制视频的是:



-f x11grab -s 1024x600 -i :0.0 -sameq

大家可以按照自己的需求使用.

ps:ffmpeg升级后sameq参数已经替换成"-qscale 1",大家使用的新版的时候要记得修改。

ps2:我发现上面的指令录屏的比特率比较低,于是在网上找到了一个比特率高的录屏指令,不过这个指令录屏的文件很大:

ffmpeg -f x11grab -s 1440x900 -i :0 -preset ultrafast -crf 10  a.mkv    

preset在我的理解中应该是模式,crf在wiki中是质量,0最好,是无损,51是最差。

其实把preset添加到原来的命令中也可以。



标签: Linux 视频

et_highlighter51

评论:

嗷嗷
2015-07-30 16:30
想問問博主知不知道ffmpeg怎麼錄直播視頻並且是ts格式的呀?
xtricman
2013-12-26 16:31
请问你这录声音是录系统的声音还是麦克风的输入?
笑看风云
2013-12-26 16:33
@xtricman:不记得了,不过似乎是系统声音,你还是自己试一试的好。
xtricman
2013-12-26 16:43
@笑看风云:你自己居然都不记得了?你不会是网上随便抄过来的连 ffmpeg的文档都没看过吧?我想录系统的声音,然后也没有指定音频轨道编号,输入文件是 default,然后拔掉麦克风,系统声音确实录下来了,但是声音很小,而且有重度杂音,我用 libvorbis和 copy做输出编码都一样的效果。
笑看风云
2013-12-26 16:48
@xtricman:这个是11个月之前的文章,当初是看了人家在windows下录的视频而兴起的念头,后来看了一下ffmpeg的Wiki和别人的方法总结出来的,解决了之后就忘的差不多了。
xtricman
2013-12-26 16:47
@笑看风云:而且我也很好奇为何录制视频要-s参数修饰输入流而不是输出流,因为显卡输出的是确定的大小的图像,我试过修饰输出流,然后就不对了,没有完全录下来整个屏幕。
笑看风云
2013-12-26 16:53
@xtricman:这个还真不知道,我也只是知道要这么做,为什么我也不是很清楚。
xtricman
2013-12-26 16:51
@笑看风云:我虽然不完全清楚原理,但是至少视频流我能正常录下来,而音频流我则完全无法正常录制。
笑看风云
2013-12-26 16:55
@xtricman:这个就爱莫能助了,还是谷歌看看能不能找到解决方法。[汗]
ffmpeg愛好者
2013-12-06 06:41
想請問一下博主,這命令可以在Windows Java or Mac Java環境下work嗎?
ffmpeg愛好者
2013-12-06 06:45
@ffmpeg愛好者:我目前只找到:
[url]https://trac.ffmpeg.org/wiki/How%20to%20grab%20the%20desktop%20(screen)%20with%20FFmpeg[/url]
可是,不知道行不行透過Java來做錄製...
笑看风云
2013-12-06 13:05
@ffmpeg愛好者:不清楚。我觉得应该不可以,因为x11grab 似乎是Linux独有的。
无线摄像头
2013-02-02 02:48
文章写的很棒向博主好好学习!!!
针孔摄像头
2013-01-22 02:24
文章很棒很给力支持博主

发表评论: