Você pode obter redimensionamento, recodificação para MPEG2 e streaming RTSP com gstreamer, mas não consegui alterar a taxa de quadros. Se isso for suficiente, veja como:
- Instale o pacote de desenvolvimento do servidor gst RTSP:
sudo apt-get install libgstrtspserver-0.10-dev
- Obtenha uma cópia do este iniciador de exemplo
- Compile com
gcc -o test-launch $(pkg-config --cflags --libs gstreamer-0.10 gst-rtsp-server-0.10) test-launch.c
- Iniciar streaming:
./test-launch "( filesrc location=/tmp/rtp.mp4 ! decodebin ! videoscale ! video/x-raw-yuv,width=400,height=320 ! ffenc_mpeg2video ! mpegtsmux ! rtpmp2tpay name=pay0 pt=96 )"
- Assista ao vídeo:
gst-launch-0.10 rtspsrc location=rtsp://127.0.0.1:8554/test ! decodebin ! xvimagesink
Algumas ressalvas:
- para alterar a porta, você precisa adicionar uma chamada a
gst_rtsp_server_set_port(server, 9091);
no test-launch.c, entre as linhas 44 e 45 - totem lê o fluxo, mas não exibe nada, nem mesmo mensagens de erro
- O mplayer não suporta o tipo de fluxo