No Linux, achei o GStreamer incrivelmente poderoso no trabalho que venho fazendo recentemente. Ele tem uma variedade de plug-ins que podem ser usados para capturar, manipular, transcodificar etc. Ele está incluído nos repositórios de gerenciamento de pacotes de todas as principais distribuições Linux que eu encontrei, embora possa vir como uma série de pacotes diferentes (Good, Bad Ugly) devido a problemas de licenciamento.
É um pouco assustador usar em um primeiro momento, ao usá-lo a partir da linha de comando, ele opera em uma base de pipeline semelhante ao console em si. Por exemplo, o seguinte pipeline iria capturar vídeo de uma webcam e salvá-lo como um arquivo MKV codificado por H264.
gst-launch v4l2src ! x264enc ! matroskamux ! filesink location=webcam.mkv
Agora, claramente, os pipelines variam dependendo da sua circunstância exata, mas algumas regras gerais parecem verdadeiras - como você sempre precisa de pelo menos uma fonte e afundar e, geralmente, se você codificou um vídeo, também vai querer mixá-lo. / p>
Editar: Eu também devo observar que ele tem um SDK C para aqueles que desejam usá-lo como parte de um aplicativo C / C ++ como eu tenho.