Eu uso o avconv para fazer gravações em tela de jogabilidade no linux (sim, me desculpe, eu sou um deles, mas fico mais empolgado com os scripts do que jogando), mas recentemente meu disco rígido passou e aguardando a garantia Estou usando um de um notebook antigo.
O problema é que eu já sabia que não posso gravar usando este HD porque é muito mais lento do que o meu antigo, como se mostra verdade, desisti de tentar gravar e comecei a procurar outras opções. / p>
Foi quando me lembrei de tmpfs / ramfs, e é assim que estou tentando resolver as coisas:
1) Eu montei o tmpfs:
$ sudo mount -t tmpfs -o size=2048M captura ~/Videos/capture/memoria/
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 286G 63G 209G 24% /
...
captura 2.0G 62M 2.0G 3% /home/rarlei/Videos/capture/memoria
2) Comece a jogar (Minecraft, uso pesado de memória?)
3) Inicie a gravação: avconv $thousands_of_parameters -v:c libx264 -preset fast memoria/video.mp4
(somente vídeo)
Depois de algumas apresentações, paro de gravar para ver o que tenho, mas o que vejo não é diferente do que vejo gravando no disco rígido.
Eu tenho 8GB de memória boa (1.2ghz ou algo assim, eu não sei como eu posso ver do linux)
Eu não estou usando nenhuma placa de vídeo específica, é apenas uma Intel comum, mas isso nunca afetou a gravação com meu disco rígido anterior.
Os tmpfs não deveriam ser muito mais rápidos? Minecraft afeta isso? A codificação afeta isso? Alguma idéia?
UPDATE
Eu acho que não estou sendo claro, o que estou fazendo é comparar dois vídeos, um escrito na partição harddisk, e outros escritos em tmpfs (memória?), ambos com os mesmos codecs, ambos do display X11, meu resultado esperado foi que o vídeo tmpfs teve muito menos atrasos do que o disco rígido (atrasos que não aparecem durante o jogo), mas o resultado é que ambos os shows de vídeo estão atrasados, em quase a mesma quantidade.
Vale dizer que esses atrasos não ocorreram com meu disco rígido anterior, então sei que é relacionado ao armazenamento e não ao processador / codec.
UPDATE - Resolvido (?)
Acontece que algo parece acontecer no processo de codificação que consome muito mais memória (o que é óbvio agora, já que ele precisa carregar cada quadro na memória e processar lá, e então escrever de volta em outra seção do mesmo memória) do que eu previa, então, fazer tudo na memória realmente causou esses atrasos / framedrops durante a codificação.
Eu tentei gravar usando rawvideo e, depois de recodificar de volta para o mp4, não houve atraso no vídeo. Pena que são necessários 1 GB para cada 10 segundos e não tenho muita memória.
Não havia como gravar o direito rawvideo no disco rígido, o que atrasava o jogo ao ponto de pará-lo até que eu parasse de gravar. : (
Obrigado a vocês de qualquer maneira:)