Para um pequeno projeto meu, quero gravar pequenas transmissões de tela que mostrem os recursos do meu programa. Atualmente, estou usando um aplicativo pequeno na minha caixa do Ubuntu, que cria saída gif diretamente animada. A desvantagem é que esse gif tem algumas limitações no número de cores. Se você inspecionar alguns dos gifs, poderá observar que, embora pareça ótimo, não é perfeito, especialmente quando você olha as fontes com alias
Existem algumas soluções artesanais, por exemplo, a demonstração no site de texto sublime . Para ter algo bom, primeiro você precisa gravar sua tela completamente sem perdas. Infelizmente, a maioria dos programas de exibição de tela comprime o vídeo.
Pergunta: Tenho o Ubuntu e o OSX à minha disposição, que (se possível gratuitamente) soluções de conversão de tela existem que me permitem criar vídeos sem perdas?
Crédito extra para programas em que posso selecionar a região ou janela para gravar e desligar o áudio.
Atualizar
Para deixar claro o que quero dizer com sem perdas: geralmente, os vídeos são compactados com um método perfeito para imagens / vídeos naturais, mas horrível para imagens / vídeos com bordas nítidas e estruturas de uma cor . Fiz duas transmissões de tela e ampliei uma pequena parte para que esses efeitos fossem visíveis. O primeiro é feito com gtk-recordmydesktop com a mais alta qualidade e os artefatos na área cinza são claramente visíveis
O segundo é feito com a pequena ferramenta Record your Desktop , que salva arquivos gif diretamente e captura os pixels exatos da tela sem compactação.
O que eu quero é um rodízio de tela que salve seus vídeos nesse formato bruto, sem as limitações do gif.
Possivelmente questões relacionadas:
fonte
Respostas:
O FFmpeg com um codec sem perdas é uma solução. Lembro-me de uma comparação de diferentes codecs que concluíram que a Apple Animation (conhecida por ffmpeg as
qtrle
) dava a melhor qualidade para gravação de tela.Pare abrindo seu terminal enquanto estiver em execução e pressionando
q
. Obviamente, altere a resolução (1024x768 aqui) para corresponder à sua. Para selecionar uma seção da sua tela, veja como capturar a tela no wiki do ffmpeg.É possível que o
ffmpeg
que acompanha sua distribuição Linux não tenha oqtrle
codec incluído. Nesse caso, você precisa baixar e compilar sua própria versão.fonte
qtrle
codificação para criar um arquivo .mov perfeito. Então extraio os quadros e uso a magia de imagem para criar um gif animado muito pequeno e incrivelmente agradável. A vantagem do OBS é que você define facilmente a resolução de saída e qual janela ou parte da tela você deseja gravar. Permite combinar várias regiões gravadas e áudio com facilidade. Raramente visto algo assim no Linux!Como alternativa, canalize a saída da tela para um segundo computador para gravar, usando um dispositivo como o Blackmagic Intensity. Ele suporta captura para um formato totalmente descompactado (verifique se você tem um SSD ou RAID para gravar, pois a taxa de bits é muito alta).
Portanto, o computador em que você está trabalhando deve ter saída para monitor duplo - espelhe a tela para que uma saída vá para o monitor e a outra para um PC com uma placa BlackMagic PCIe (ou USB 3.0), que registra a saída. Use DVI / HDMI, não VGA.
Observe que a Intensity suporta apenas resoluções do tipo de vídeo, portanto, resoluções como 1024x768 ou 1024x1024 etc. não são boas - 480p, 720p, 1080p etc. $ 99 agora de qualquer maneira).
Depois, você pode editar e compactar o vídeo bruto da maneira que desejar.
fonte
Eu tinha requisitos muito semelhantes e finalmente encontrei o Claquette .
É um aplicativo OS X que usa um codec sem perdas. Embora não permita definir uma área da tela antes da gravação, ele possui um recurso de corte que permite selecionar uma região após o término da gravação. O áudio também pode ser desligado. Os filmes podem ser exportados em vários formatos (incluindo h.264, ProRes e GIF animado).
fonte
No OS X, parece que o ScreenFlow pode gravar sem perdas (não por padrão, mas isso pode ser ativado nas configurações). Infelizmente, este aplicativo não é gratuito. Ainda procurando alternativas gratuitas…
Atualização Importante!
Isso se aplica apenas ao Screenflow 4.5.3 (e talvez algumas versões anteriores). No Screenflow 5, esse recurso se foi. Eles anunciam que podem gravar sem perdas, mas isso é uma mentira descarada: o modo "sem perdas" está usando o Apple ProRes, que não é sem perdas (e eu testei a saída, ela tem artefatos) e não há como selecionar alguns outro codec (no Screenflow 4.5.3, o modo sem perdas é alcançado usando o codec "Animation", ou seja
qtrle
, no Screenflow 5 não há como fazer isso)Então ... adeus, doce príncipe.
Atualização 2
O ffmpeg também pode gravar a tela, se você aprender a usá-la corretamente.
fonte
Aqui está uma opção que não é da linha de comando.
Tente Collaaj ( http://collaaj.com ). Funciona em PC e Mac. Não funciona no Ubuntu, mas desde que você mencionou que possui o OSX, isso deve funcionar bem. Eu acho que deve fazer o que você pediu e muito mais. Como seleção de região, seleção de entradas, etc., e também permite fazer upload e manter suas gravações no collaaj.com para acesso a qualquer momento. Eles têm um bom conjunto de vídeos aqui - http://collaaj.com/videos
fonte
Se você precisar de algo menos complicado, tente rec, que é meu :) https://sites.google.com/site/joopeter/
Também é gratuito, sem perdas, mas mais eficiente e preciso!
fonte
Por favor, desculpe meu atraso para a festa, isso é algo com o qual tenho trabalhado na gravação de tela sem perdas tardia
Originalmente, eu estava usando o OBS para gravar minha tela ao longo do ano de 2019, principalmente para enviar gravações de tela / elenco para o youtube, no entanto, recentemente comecei a experimentar o ffmpeg para gravar minha tela e o microfone ainda não testou a gravação de áudio na área de trabalho .
Comecei com as configurações vanilla ffmpeg para gravar minha tela, mas a configuração GOP da gravação torna extremamente doloroso ao editar a gravação em um editor NLE / NLA, como shotcut, então voltei e reli o documento de captura de tela no wiki ffmpeg e notamos que as gravações de tela podem ser capturadas sem perdas usando o codec x264, desde que
-crf 0
o crf esteja definido como 0, o que acredito que significa que o ffmpeg usará o codec x264 não aplicará nenhuma compactação com perdas à gravação. Além disso, o wiki sugere o uso-preset ultrafast
em conjunto com a-crf 0
configuração do comando ffmpeg. Eu experimentei essas configurações ontem à noite e a qualidade da imagem / tamanho do arquivo é ótima.Gravei minha tela 4K 3840 x 2160 monitor a 30 qps e a taxa de bits era totalmente gerenciável, ou seja. Acho que nunca ultrapassou os 10 MB / s e uma gravação de um minuto foi de ~ 48 MB, o que é um tamanho de arquivo totalmente aceitável para arquivar gravações.
Ressalvas
Você mencionou a conversão de suas gravações para GIFs animados. Eu usei o projeto a seguir para converter pequenas gravações de tela em GIFs, que só funcionam com gravações baseadas em terminal e obtiveram resultados agradáveis. Ele ainda possui um contêiner de encaixe que facilita o uso para vários sistemas operacionais.
Eu experimentei usar o ffmpeg para converter e gravar o iPhone em GIF animado um tempo atrás, o que foi útil para carregar o GIF no github porque acredito que o github não suporta o upload de arquivos de vídeo como mov mkv ou mp4 .
Além disso, fiz uma pesquisa rápida no codec QTRLE e parece que ele não é compatível com o formato de contêiner MP4 ; portanto, se for necessário usar algo diferente de MOV, é possível usar um codec diferente.
⚠️ o comando abaixo exigirá a instalação simultânea .
o comando acima capturará a tela do computador sem perdas usando x264 e usando o alac para capturar a entrada do microfone sem perdas também. ambos os formatos funcionam bem para edição em um editor NLA / NLE, como um shotcut.
⚠️
":3"
e1:
variará de acordo com o sistema executando o macOSPara obter uma lista de dispositivos de captura no macOS
De qualquer forma, sei que há muitas informações, mas pensei em compartilhar essas informações pelo fato de estar usando o ffmpeg quase diariamente nas últimas duas semanas, então pensei em compartilhar o que aprendi, e deixe essa informação para mim no futuro 👴🏻
fonte