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