Processamento de video para timelapses

6 de Março de 2016

2016-03-06 18_48_46-Windows Shell Experience Host

Agora deu-me para experimentar a fazer timelapses, nada de muito sofisticado como alguns hyper-timelapses que por aí andam e que são fantásticos, ando só a fazer umas experiências e a ver o que consigo fazer.

Até agora já aprendi algumas coisas nomeadamente os tempos necessários entre as frames para o tipo de timelapse que faço, qual a melhor forma de fazer a captura (video contínuo ou temporização entre frames), como é que os timelapses ficam melhores, programas Android para fazer contas, etc..

2016-03-01 20_12_29-Video Filter Manager

Depois de capturar o video com um smartphone ou com uma camera tipo GoPro com configurações perfeitamente normais, uso o programa Avidemux para cortar o video de acordo com as minhas pretenções e também para criar o timelapse.

Selecciono o codec x264 e aplico dois filtros consecutivos, um para aumentar o frame rate diminuindo o tempo do video e outro para restaurar o frame rate para 30 fps e mantendo o tempo menor devido à aceleração. Se não ficar suficientemente rápido aplico outra vez os dois filtros em sequência.

2016-03-01 20_10_39-New notification

Por exemplo, vou agora demonstrar como acelerar um video 24 vezes e quais os valores a colocar. O normal nos meus videos originais é o framerate ser 30 fps. Como o Avidemux só aceita no máximo 200 frames por segundo tenho de aplicar a técnica duas vezes consecutivas:

1. Change FPS: de 30 fps para 180
2. Resample FPS: de novo para 30 fps

Desta forma ficamos com o video acelerado 6 vezes já que 30 x 6 dá as 180 fps configuradas no primeiro filtro. Em seguida aplico outra vez os dois filtros com novos valores:

3. Change FPS: de 30 para 120
4. Resample FPS: de novo para 30

Tal como anteriormente, fazendo as contas, 30 x 4 dá as 120 frames por segundo e uma vez que já estava acelerado 6 vezes, no total temos 6 x 4 o que perfaz uma aceleração de 24 vezes. Espero ter conseguido explicar as contas e para finalizar o timelapse é só gravar o video possivelmente excluindo a pista sonora que não deverá fazer falta.

2016-03-01 20_07_54-New notification

Bem sei que há outros softwares que permitem fazer um timelapse de uma forma mais fácil principalmente se o filtro já estiver incluído dentro do programa de edição video mas eu prefiro fazer desta forma e manter a “compatibilidade” com ferramentas opensource que existem para Linux, como o Avidemux.

Xcopter – Afinação dos Parâmetros (parte 3)

26 de Fevereiro de 2016

fc_mpng

Depois de falar de um conjunto de parâmetros e explicar como os ajustar com a aplicação Tower, finalizo com mais uns parâmetros que acho utéis e que ajustei no meu Xcopter. Alguns devem ser mesmo ajustados para dar estabilidade ao voo mas há outros que não são usados por quem tem controladoras APM, ficam aqui para memória futura e possívelmente ajudar alguém.

Começo por falar do THR_MAX que possibilita limitar a potência dos motores. A razão para eu ajustar este parâmetro no Xcopter e colocá-lo a 800 (corresponde a 80%) deve-se a ter passado a utilizar 4S com motores que tanto quanto sei apenas permitem 3S. Este limite não afecta o voo nem o hover a 50% do throttle já que a potência existente é suficiente.

Como segurança adicional configurei um switch do rádio no canal 7 para ligar o Simple Mode. Desta forma se eu perder a orientação, caso haja um problema com o GPS, o dia estar com um Kp Index muito alto e o RTH não funcionar, tenho mais uma hipótese de trazer o Xcopter até mim. O parâmetro a configurar no Tower é o CH7_OPT com o valor 3.

Quando o Xcopter está lá nas alturas é engraçado fazer uma panorâmica de 360 graus à volta mantendo-se no mesmo sítio. Os parâmetros que tenho configurado são CIRCLE_RADIUS,0 e CIRCLE_RATE,5. Com o primeiro configura-se o raio de rotação e para que rode sobre si mesmo é colocar a 0. Se quisermos que rode à volta de um ponto é colocar o valor do raio e talvez aumentar a velocidade com o CIRCLE_RATE mas nunca experimentei.

Para a funcionalidade RTL prefiro que o Xcopter se mantenha a cerca de 2 metros em vez de aterrar de imediato. Pode acontecer não estar no melhor sítio para a fase final da aterragem e por vezes também acontece haver um desfasamento da altura lida pela controladora a partir da pressão atmosféria e é melhor ter uma margem. Para fazer este ajuste é colocar o parâmetro RTL_ALT_FINAL com o valor 200 e esperar que pare a 2 metros de altura.

Falando agora daquele momento que precede qualquer voo, sempre me habituei a armar o Xcopter e as hélices ficarem paradas. Já era assim quando eu usava o firmware MutliWii e quando passei para MegaPirateNG quis manter o mesmo comportamento, para isso editei o parâmetro MOT_SPIN_ARMED e coloquei o valor a 0.

Vou falar agora de mais uns daqueles parâmetros que ajudam a dar estabilidade ao voo e que carecem de uma afinação cuidada de preferência em voo e com sucessivas aproximações em várias situações com mais ou menos vento até se encontrar o valor final. Os parâmetros HLD_LON_P e HLD_LAT_P são usados para ajudar a estabilidade horizontal em modo Loiter, ou seja, quando o sinal recebido no GPS é suposto segurar o Xcopter no lugar.

A melhor maneira de proceder é fazer como para os parâmetros que controlam a estabilidade em voo falados no artigo anterior, ou seja, configurar o potênciómetro do rádio ligado ao canal 6 para fazer variar os valores e ir ajustando gradualmente em voo:

TUNE,12 (Loiter Pos Kp)
TUNE_HIGH,1000
TUNE_LOW,100

Convém começar com o potenciómetro a marcar um valor mais aproximado a 1 já que é o valor por omissão que costuma vir configurado. No caso do Xcopter ambos os valores HLD_LON_P e HLD_LAT_P são na ordem dos 0,38 para conseguir o Loiter mais estável horizontalmente mas pode acontecer em certos dias de maior ou menor vento ajustar um pouco.

Deixo também em resumo outros parâmetros que alterei e que em alguns casos podem desabilitar verificações de segurança importantes mas que no meu caso particular dificultam a afinação e o voo. É fazer com cuidado e verificar os impactos antes de fazer as alterações:

FS_GPS_ENABLE,0 -> GPS Failsafe Off
FS_THR_ENABLE,3 -> Throttle Failsafe: Enabled always LAND
GPSGLITCH_ENABLE,0 -> GPS Glitch Detection Off
ARMING_CHECK,0 -> Arming Check Off

Os modos de voo que tenho configurados são apresentados de seguida. Nunca usei o modo missão pelo que não o tenho sequer como possibilidade. Todos os outros foram colocados sequencialmente usando uma lógica de que de um modo para o outro o efeito no voo deve ser mínimo e progressivo:

FLTMODE1,0 -> Stabilize
FLTMODE2,2 -> AlHold
FLTMODE3,5 -> Loiter
FLTMODE4,7 -> Circle
FLTMODE5,6 -> RTL
FLTMODE6,9 -> Land

O artigo ficou um pouco mais longo do que pretendia mas assim encerro este capítulo de explicações sobre os vários parâmetros que alterei no Xcopter. Podem haver ainda outros parâmetros úteis mas até ao memomento ainda não tropecei neles e até ver não devo ter necessidade de os alterar. Versões mais recentes do firmware APM têm parâmetros novos e alguns dos que apresento podem já ter sido descontinuados, são válidos para a versão MegaPirate 3.1.5 R2.

Resumo dos Links

Simple Mode: http://copter.ardupilot.com/wiki/simpleandsuper-simple-modes/

Modo Panoramico: http://copter.ardupilot.com/wiki/circle-mode/

Complete Parameter List: http://copter.ardupilot.com/wiki/arducopter-parameters/

Edição vídeo e Organização de Ficheiros

14 de Fevereiro de 2016

2016-02-14 20_40_54-Program Manager

Quando recentemente descobri o editor de vídeo Shotcut, mesmo depois de ver os vídeos explicativos na página dos tutoriais, tive dificuldade em perceber qual a melhor forma de organizar os vídeos, músicas, sons e textos de uma forma fácil e prática.

Ter os diversos ficheiros organizados é para mim fundamental, não quero perder tempo durante o processo criativo a encontrar as coisas que preciso num dado momento e não sei ao certo onde estão. Depois da edição de alguns vídeos encontrei uma forma de me organizar.

A solução foi criar um conjunto de pastas relativas ao projecto de edição vídeo que estou a tratar num dado momento. Primeiro que tudo crio uma pasta com o nome videos_originais e como o próprio nome indica coloco todos os vídeos captados lá dentro.

No meu “workflow” de edição video antes de começar a trabalhar com o programa Shotcut uso o programa Avidemux para seleccionar de forma grosseira as cenas que penso usar e fazer “transcoding” se necessário. Desta forma tenho os vídeos todos no mesmo tipo de “container” e com os mesmos codecs de vídeo e áudio. Os nomes dos vídeos também são escolhidos de forma a mais facilmente identificar as cenas.

2016-02-14 20_42_11-Program Manager

Todos os vídeos pré-editados são colocados numa pasta chamada videos_precorte que vão depois alimentar a edição no Shotcut. Creio que temos toda a vantagem em pré-visualizar sempre os vídeos e em ter um formato comum para todos. Vídeos com sobreposições, misturas, “timelapses” e outras composições já preparadas que irão integrar o vídeo final são colocados numa outra pasta com o nome videos_processados.

Outros componentes que costumam fazer parte dos meus vídeos são músicas, sons e legendas. Para as organizar tenho uma pasta chamada musicas_sons e outra chamada legendas_textos. Nesta última costumo colocar os ficheiros HTML e imagens usadas nos textos inseridos nos vídeos.

Fico-me por aqui com esta breve descrição sobre como organizo os vários elementos que compõe os vídeos feitos por mim e desta forma ajudar quem está a começar na sua edição e precise de um pequeno empurrão.

Xcopter – Mais um Encontro Underground

30 de Janeiro de 2016

IMG_20160124_113748

No último Domingo ocorreu mais um encontro “underground” do FPV Portugal no meu local de voo do costume. Desta vez apareceu pessoal que eu não conhecia como o PageXone, o Apollo e o Proprio, para além dos suspeitos do costume que já tinham estado a semana passada (flythai e BruSoares) e outros dois mirones (vou-lhes chamar assim sem sentido depreciativo, apenas estavam lá a observar e não cheguei a interagir com eles, as minhas desculpas por isso).

O Apollo levou o seu Cheerson CX-20 todo “kitado” e das vezes em que pensei comprar um era para evoluir e colocar tal e qual este está. O comando também é dos bons, tem um receptor LCD a fazer par com a Xiomi Yi, gimbal e emissor video, além da telemetria 3DR a 433 MHz. Com todas as alterações que o Apollo fez internas e externas é difícil haver um CX-20 tão bem preparado como este. Só está mesmo a faltar um OSD para a estar no ponto para mim.

IMG_20160124_113801

Não é costume estarem presentes aviões e helicópteros convencionais mas o PageXone levou os seus e gostei de os ver em acção. O helicóptero faz muito barulho e a mim intimida-me um bocado tanto pelo barulho como pelas hélices a rodar a grande velocidade. Deu para perceber que este piloto tem grande experiência e não fosse os problemas com o avião teria demonstrado mais habilidades. Ainda apanhei um susto ao ver o avião dirigido a mim a curta distância e antes que me decidisse a atirar-me para o chão, corrigiu a rota e evitou-se a colisão ou a minha vergonha.

O video do encontro desta vez está, como dizer, complexo… Havia muitas cenas boas a incluir e não foi à primeira que consegui encontrar a conjugação das melhores. Peço desculpa pelas várias versões mas não podia deixar de incluir as cenas relevantes e documentar o encontro o melhor possível. O Shotcut portou-se bem mas durante a edição começou a notar-se lentidão pela maior complexidade e número de cenas incluídas. Pelos comentários no fórum na “thread” dos encontros, o pessoal gostou pelo que o tempo dispendido foi bem empregue.


Seguir

Get every new post delivered to your Inbox.