Hola, existe alguna app de preferencia terminal que me permita hacer streaming del contenido de una ventana determinada? pero no que grabe la pantalla sino el contenido de la ventana ya que quiero hacer un script que cuando alguien haga click a un boton desde una pagina web levante una app y le haga streaming y este puede ser abierto varias veces al mismo tiempo levantando varias ventanas una tras otra.
Lo quiero hacer para hacer streaming de logstalgia y tener un visor online en tiempo real junto a otras apps sinilares. esto es posible?
Estaba averiguando y ligstalgia ofrece la salida en formato ppm con el argumento --output-ppm-stream y segun la documentación oficial es posible crear un output stream con ?-? , ahora, ffmpeg permite convertir ppm a mp4 pero como le redirijo el stream? y ... es posible que ffmpeg redirija el output stream a un stream web via udp o algo similar? de esa manera será mas facil tener un servicio que haga el stream via web en el mismo navegador.
Bueno esto es lo que he averiguado, que logstalgia puede funcionar como output stream y hacer un pipe hacia ffmpeg directamente:
Leer log: (funciona)
Citarssh whk@server "tail -f /var/log/httpd/global_access_log"
Leer log -> Logstalgia: (funciona)
Citarssh whk@server "tail -f /var/log/httpd/global_access_log" | logstalgia --sync
Leer log -> Logstalgia -> Guardar video en formato ppm: (funciona)
Citarssh whk@server "tail -f /var/log/httpd/global_access_log" | logstalgia --sync --output-ppm-stream out.ppm
Convertir video: (funciona)
Citarffmpeg -y -r 60 -f image2pipe -vcodec ppm -i output.ppm -vcodec libx264 -preset ultrafast -pix_fmt yuv420p -crf 1 -threads 0 -bf 0 nginx.server.log.mp4
Logtslgia -> Convertir video: (funciona)
Citarlogstalgia -1280x720 -o - access.log | ffmpeg -y -r 60 -f image2pipe -vcodec ppm -i - -vcodec libx264 -preset ultrafast -pix_fmt yuv420p -crf 1 -threads 0 -bf 0 logstalgia.mp4
Leer log -> Logstalgia -> Ffmpeg -> guardar video en formato mp4: (no funciona)
Citarssh whk@server "tail -f /var/log/httpd/global_access_log" | logstalgia --sync -o - | ffmpeg -y -r 60 -f image2pipe -vcodec ppm -i - -vcodec libx264 -preset ultrafast -pix_fmt yuv420p -crf 1 -threads 0 -bf out.mp4
Porque cuando quiero pasar el output stream a ffmpeg mientras hago pipe desde ssh no funciona?, o sea, si lo hago desde un log local funciona pero cuando lo hago por ssh deja de funcionar y me arroja un error:
whk@machine:~/Escritorio$ ssh whk@server "tail -f /var/log/httpd/globaaccess_log" \
| logstalgia --sync -o - \
| ffmpeg -y -r 60 -f image2pipe -vcodec ppm -i - -vcodec libx264 -preset ultrafast -pix_fmt yuv420p -crf 1 -threads 0 -bf out.mp4
ffmpeg version 2.5.10-0ubuntu0.15.04.1 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 4.9.2 (Ubuntu 4.9.2-10ubuntu13)
configuration: --prefix=/usr --extra-version=0ubuntu0.15.04.1 --build-suffix=-ffmpeg
--toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --shlibdir=/usr/lib/x86_64-linux-gnu
--incdir=/usr/include/x86_64-linux-gnu --enable-gpl --enable-shared --disable-stripping --enable-
avresample --enable-avisynth --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b
--enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-
libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-
libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libshine --enable-
libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libwavpack
--enable-libwebp --enable-libxvid --enable-opengl --enable-x11grab --enable-libdc1394 --enable-
libiec61883 --enable-libzvbi --enable-libzmq --enable-frei0r --enable-libvpx --enable-libx264 --enable-
libsoxr --enable-gnutls --enable-openal --enable-libopencv --enable-librtmp --enable-libx265
libavutil 54. 15.100 / 54. 15.100
libavcodec 56. 13.100 / 56. 13.100
libavformat 56. 15.102 / 56. 15.102
libavdevice 56. 3.100 / 56. 3.100
libavfilter 5. 2.103 / 5. 2.103
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 3.100 / 53. 3.100
Trailing options were found on the commandline.
Input #0, image2pipe, from 'pipe:':
Duration: N/A, bitrate: N/A
Stream #0:0: Video: ppm, rgb24, 1024x768, 60 fps, 60 tbr, 60 tbn, 60 tbc
At least one output file must be specified
^Cwhk@machine:~/Escritorio$
Bueno, ahora si me funciona, reemplazando -o por --output-ppm-stream, a demás exporté para webm, ahora veré como publicarlo en tiempo real.
Citarssh whk@host "tail -f /var/log/httpd/global_access_log" | logstalgia --sync --output-ppm-stream - | ffmpeg -y -r 60 -f image2pipe -vcodec ppm -i - -vcodec libvpx -b 10000K logstalgia.webm
Edito, encontré ffserver
https://trac.ffmpeg.org/wiki/ffserver