[FFmpeg-user] Desktop capturing with acodec pcm_s16le results in wobbly audio
Oliver
olivermd at gmx.net
Sat Sep 5 00:00:00 CEST 2015
Hello,
i am experimenting with desktop video/audio capturing this is the
command i used:
ffmpeg -f alsa -ac 2 -i default -f x11grab -r 30 -s 1920x1200 -i
:0.0+1680,0 -acodec pcm_s16le -vcodec libx264 -preset ultrafast -crf 0
-threads 0 testout.mkv
this kind of worked but the audio in the resulting video file had a
distinct wobble effect, similar to slow motion. I could not notice any
effects on the video.
The output of the above command was:
No pixel format specified, yuv444p for H.264 encoding chosen.
Use -pix_fmt yuv420p for compatibility with outdated media players.
[libx264 @ 0x19e8a20] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
[libx264 @ 0x19e8a20] profile High 4:4:4 Predictive, level 5.0, 4:4:4 8-bit
[libx264 @ 0x19e8a20] 64 - core 148 - H.264/MPEG-4 AVC codec - Copyleft
2003-2015 - http://www.videolan.org/x264.html - options: cabac=0 ref=1
deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=0 mixed_ref=0 me_range=16
chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=0
chroma_qp_offset=0 threads=18 lookahead_threads=3 sliced_threads=0 nr=0
decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0
weightp=0 keyint=250 keyint_min=25 scenecut=0 intra_refresh=0 rc=cqp
mbtree=0 qp=0
Output #0, matroska, to 'testout.mkv':
Metadata:
encoder : Lavf56.36.100
Stream #0:0: Video: h264 (libx264) (H264 / 0x34363248), yuv444p,
1920x1200, q=-1--1, 30 fps, 1k tbn, 30 tbc
Metadata:
encoder : Lavc56.41.100 libx264
Stream #0:1: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz,
stereo, s16, 1536 kb/s
Metadata:
encoder : Lavc56.41.100 pcm_s16le
Stream mapping:
Stream #1:0 -> #0:0 (rawvideo (native) -> h264 (libx264))
Stream #0:0 -> #0:1 (pcm_s16le (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
[x11grab @ 0x19df400] Thread message queue blocking; consider raising
the thread_queue_size option (current value: 8)
[alsa @ 0x19c8a00] Thread message queue blocking; consider raising the
thread_queue_size option (current value: 8)
frame= 1583 fps= 32 q=-1.0 Lsize= 78427kB time=00:00:52.76
bitrate=12175.6kbits/s
video:68375kB audio:9772kB subtitle:0kB other streams:0kB global
headers:0kB muxing overhead: 0.357776%
[libx264 @ 0x19e8a20] frame I:7 Avg QP: 0.00 size:1380498
[libx264 @ 0x19e8a20] frame P:1576 Avg QP: 0.00 size: 38294
[libx264 @ 0x19e8a20] mb I I16..4: 100.0% 0.0% 0.0%
[libx264 @ 0x19e8a20] mb P I16..4: 25.2% 0.0% 0.0% P16..4: 1.4%
0.0% 0.0% 0.0% 0.0% skip:73.4%
[libx264 @ 0x19e8a20] coded y,u,v intra: 7.9% 5.9% 6.3% inter: 1.6% 1.2%
1.3%
[libx264 @ 0x19e8a20] i16 v,h,dc,p: 93% 6% 0% 0%
[libx264 @ 0x19e8a20] kb/s:10615.04
Received signal 2: terminating.
After that i tried the same command with just 15 fps (using the option
-r 15 instead of -r 30) but this had the same effect.
Another thing i tried was using: -acodec libvorbis instead ob pcm_s16le
and this finally worked but i am not sure what are the downsides of this
and additionally using libvorbis gives me about 50 warnings:
[matroska @ 0x176b3c0] Non-monotonous DTS in output stream 0:1;
previous: 0, current: -1822; changing to 0. This may result in incorrect
timestamps in the output file.
I do not know what this means, does this indicated that there are
problems keeping video and audio synchronous?
Does anyone has an idea?
More information about the ffmpeg-user
mailing list