relacionado a ; Crie um screencast com ffmpeg: como manter vídeo + áudio em sincronia?
ffmpeg version 2.2.git Copyright (c) 2000-2014 the FFmpeg developers
Construído em Mar 13 2014 16:08:45 com gcc 4.8 (Ubuntu / Linaro 4.8.1-10ubuntu9)
produz um erro
"[swscaler @ 0xa314080] Warning: data is not aligned! This can lead to a speedloss"
O resultado final é um sério problema de sincronia a / v, com o vídeo como se estivesse em Avanço rápido.
Alguém já encontrou este problema? Alguma idéia de soluções?
O objetivo é screencasting;
ffmpeg -f alsa -ac 2 -i hw:2,0 -f x11grab -r 30 -s 1920x1072 -i :0.0 -acodec libmp3lame -ab 320k -sameq /media/username/library-portable/video-studio/transfer-bin/BTSvlog02.avi
ffmpeg version 2.2.git Copyright (c) 2000-2014 the FFmpeg developers
built on Mar 13 2014 16:08:45 with gcc 4.8 (Ubuntu/Linaro 4.8.1-10ubuntu9)
configuration: --prefix=/home/username/ffmpeg_build --extra-cflags=-I/home/username/ffmpeg_build/include --extra-ldflags=-L/home/username/ffmpeg_build/lib --bindir=/home/username/bin --extra-libs=-ldl --enable-gpl --enable-libass --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree --enable-x11grab
libavutil 52. 66.101 / 52. 66.101
libavcodec 55. 52.102 / 55. 52.102
libavformat 55. 34.101 / 55. 34.101
libavdevice 55. 11.100 / 55. 11.100
libavfilter 4. 3.100 / 4. 3.100
libswscale 2. 5.101 / 2. 5.101
libswresample 0. 18.100 / 0. 18.100
libpostproc 52. 3.100 / 52. 3.100
Option 'sameq' was removed. If you are looking for an option to preserve the quality (which is not what -sameq was for), use -qscale 0 or an equivalent quality factor option.
Failed to set value '1' for option 'sameq': Invalid argument
Error parsing global options: Invalid argument
usado para trabalhar.
Eu tentei (e tentei novamente); ( adicionado / atualizado segunda-feira, 17 de março de 2014 )
ffmpeg -f alsa -ac 2 -i hw:2,0 -f x11grab -r 30 -s 1920x1080 -i :0.0 -acodec libmp3lame -ab 320k /media/username/library-portable/video-studio/transfer-bin/BTSvlog03.avi
ffmpeg version 2.2.git Copyright (c) 2000-2014 the FFmpeg developers
built on Mar 13 2014 16:08:45 with gcc 4.8 (Ubuntu/Linaro 4.8.1-10ubuntu9)
configuration: --prefix=/home/username/ffmpeg_build --extra-cflags=-I/home/username/ffmpeg_build/include --extra-ldflags=-L/home/username/ffmpeg_build/lib --bindir=/home/username/bin --extra-libs=-ldl --enable-gpl --enable-libass --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree --enable-x11grab
libavutil 52. 66.101 / 52. 66.101
libavcodec 55. 52.102 / 55. 52.102
libavformat 55. 34.101 / 55. 34.101
libavdevice 55. 11.100 / 55. 11.100
libavfilter 4. 3.100 / 4. 3.100
libswscale 2. 5.101 / 2. 5.101
libswresample 0. 18.100 / 0. 18.100
libpostproc 52. 3.100 / 52. 3.100
Guessed Channel Layout for Input Stream #0.0 : stereo
Input #0, alsa, from 'hw:2,0':
Duration: N/A, start: 1395098882.312775, bitrate: 1536 kb/s
Stream #0:0: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
[x11grab @ 0x9ea2c20] device: :0.0 -> display: :0.0 x: 0 y: 0 width: 1920 height: 1080
[x11grab @ 0x9ea2c20] shared memory extension found
Input #1, x11grab, from ':0.0':
Duration: N/A, start: 1395098882.360550, bitrate: 1990656 kb/s
Stream #1:0: Video: rawvideo (BGR[0] / 0x524742), bgr0, 1920x1080, 1990656 kb/s, 30 tbr, 1000k tbn, 30 tbc
Output #0, avi, to '/media/username/library-portable/video-studio/transfer-bin/BTSvlog03.avi':
Metadata:
ISFT : Lavf55.34.101
Stream #0:0: Video: mpeg4 (FMP4 / 0x34504D46), yuv420p, 1920x1080, q=2-31, 200 kb/s, 30 tbn, 30 tbc
Stream #0:1: Audio: mp3 (libmp3lame) (U[0][0][0] / 0x0055), 48000 Hz, stereo, s16p, 320 kb/s
Stream mapping:
Stream #1:0 -> #0:0 (rawvideo -> mpeg4)
Stream #0:0 -> #0:1 (pcm_s16le -> libmp3lame)
Press [q] to stop, [?] for help
[swscaler @ 0x9e81080] Warning: data is not aligned! This can lead to a speedloss
[alsa @ 0x9e98d00] ALSA buffer xrun.743kB time=00:00:00.13 bitrate=45644.2kbits/s
[alsa @ 0x9e98d00] ALSA buffer xrun.1067kB time=00:00:01.70 bitrate=5131.9kbits/s
[alsa @ 0x9e98d00] ALSA buffer xrun.2175kB time=00:00:05.95 bitrate=2994.1kbits/s
[alsa @ 0x9e98d00] ALSA buffer xrun.5550kB time=00:00:17.68 bitrate=2570.6kbits/s
frame= 580 fps=9.9 q=31.0 Lsize= 6540kB time=00:00:50.28 bitrate=1065.5kbits/s
video:6433kB audio:34kB subtitle:0 data:0 global headers:0kB muxing overhead 1.125390%
Received signal 2: terminating.
Mesmos resultados
* Note que a questão do FFMPEG provavelmente é um problema do Ubuntu. Eu estou no Kubuntu 13.10. Houve uma divisão na comunidade FFMPEG e o grupo Ubuntu acabou no lado que deixou o projeto FFMPEG.
-sameq
primeiro e tente novamente. A versão ffmpeg parece a coisa real, embora eu não possa dizer se alguma biblioteca está em conflito. Mas tente cair-sameq
primeiro.Respostas:
1080/16 = 67,5, que não é um número inteiro, presumivelmente levando a escrever 68 itens em um buffer com 67 slots, potencialmente causando falha no codificador. Outra coisa pode arredondar para 68, desviando gradualmente o número relatado de bits processados.
De acordo com este thread , o código incorreto é:
1080% 16 = 8, e o código espera 0, então o tamanho deve ser um múltiplo de 16.
fonte