【发布时间】:2015-04-06 19:51:06
【问题描述】:
我在 Fedora 20 中使用从 this revision 的源代码构建的 ffmpeg。
我可以使用以下命令完美地录制音频:
FFmpeg/ffmpeg -f alsa -ac 2 -i pulse -- output.wav
但是,当我同时尝试屏幕捕获和音频时,像这样:
FFmpeg/ffmpeg -video_size 800x600 -framerate 25 -ac 2 -f x11grab -i :0.0+0,0 -ac 2 -f alsa -i pulse -ac 2 -acodec copy output.mpeg -ac 2
我得到一个有 0 个音频通道的视频,我可以检查它是否正在运行 FFmpeg/ffplay output.mpeg
Input #0, mpeg, from 'output.mpeg':
Duration: 00:00:09.44, start: 0.540000, bitrate: 2743 kb/s
Stream #0:0[0x1e0]: Video: mpeg1video, yuv420p(tv), 800x600 [SAR 1:1 DAR 4:3], 104857 kb/s, 25 fps, 25 tbr, 90k tbn, 25 tbc
Stream #0:1[0x1c0]: Audio: mp2, 0 channels, s16p
7.26 M-V: 0.000 fd= 0 aq= 0KB vq= 33KB sq= 0B f=0/0
并且没有播放声音。 -ac 2 的位置不会改变行为,也不会只重复一次。尽管 ffmpeg 声称用 2 个通道录制音频,但这是输入:
ffmpeg version N-71312-ga66dcfe Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.8.3 (GCC) 20140911 (Red Hat 4.8.3-7)
configuration:
libavutil 54. 22.100 / 54. 22.100
libavcodec 56. 34.100 / 56. 34.100
libavformat 56. 29.100 / 56. 29.100
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 13.101 / 5. 13.101
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
Trailing options were found on the commandline.
Input #0, x11grab, from ':0.0+0,0':
Duration: N/A, start: 1428348285.201679, bitrate: N/A
Stream #0:0: Video: rawvideo (BGR[0] / 0x524742), bgr0, 800x600, 25 fps, 25 tbr, 1000k tbn, 25 tbc
Guessed Channel Layout for Input Stream #1.0 : stereo
Input #1, alsa, from 'pulse':
Duration: N/A, start: 1428348285.225901, bitrate: 1536 kb/s
Stream #1:0: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s
File 'output.mpeg' already exists. Overwrite ? [y/N] y
[mpeg @ 0x2d079a0] VBV buffer size not set, using default size of 130KB
If you want the mpeg file to be compliant to some specification
Like DVD, VCD or others, make sure you set the correct buffer size
Output #0, mpeg, to 'output.mpeg':
Metadata:
encoder : Lavf56.29.100
Stream #0:0: Video: mpeg1video, yuv420p, 800x600, q=2-31, 200 kb/s, 25 fps, 90k tbn, 25 tbc
Metadata:
encoder : Lavc56.34.100 mpeg1video
Stream #0:1: Audio: pcm_s16le, 48000 Hz, stereo, 1536 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> mpeg1video (native))
Stream #1:0 -> #0:1 (copy)
我一无所知。如果有人能告诉我如何让这个工作:
- 修复我在命令行标志中的错误
- 如果是回归,则从哪个版本构建。
- 任何其他方式
我给他/她买一品脱。
【问题讨论】:
-
这里还有一个错误报告:trac.ffmpeg.org/ticket/4436#ticket
标签: ffmpeg audio-recording screen-capture