web-dev-qa-db-fra.com

Quelles étapes sont nécessaires pour diffuser RTSP à partir de FFmpeg?

Quelles étapes sont nécessaires pour diffuser RTSP à partir de FFmpeg?

La diffusion UDP n'est pas un problème, mais comme je souhaite diffuser sur des appareils mobiles pouvant lire des flux RTSP en mode natif, je n'ai trouvé aucune configuration qui indique exactement ce dont vous avez besoin. Ai-je besoin d'un serveur de diffusion RTSP tel que LIVE555 ou puis-je utiliser uniquement FFmpeg?

Ma commande:

ffmpeg -i space.mp4 -vcodec libx264 -tune zerolatency -crf 18 -f rtsp -muxdelay 0.1 rtsp://192.168.1.200:1234

Je reçois une erreur d'entrée/sortie.

Ai-je besoin d'une description SDP pour utiliser RTSP? Et si oui, où dois-je la mettre?

10
user1767754

Vous pouvez utiliser FFserver pour diffuser une vidéo à l’aide de RTSP.

Il suffit de changer la syntaxe de la console comme suit:

ffmpeg -i space.mp4 -vcodec libx264 -tune zerolatency -crf 18 http://localhost:1234/feed1.ffm

Créez un fichier ffserver.config ( sample ) dans lequel vous déclarez HTTPPort, RTSPPort et le flux SDP. Votre fichier de configuration pourrait ressembler à ceci (il manque peut-être des choses importantes):

HTTPPort 1234
RTSPPort 1235

<Feed feed1.ffm>
        File /tmp/feed1.ffm
        FileMaxSize 2M
        ACL allow 127.0.0.1
</Feed>

<Stream test1.sdp>
    Feed feed1.ffm
    Format rtp
    Noaudio
    VideoCodec libx264
    AVOptionVideo flags +global_header
    AVOptionVideo me_range 16
    AVOptionVideo qdiff 4
    AVOptionVideo qmin 10
    AVOptionVideo qmax 51
    ACL allow 192.168.0.0 192.168.255.255
</Stream>

Avec une telle configuration, vous pouvez regarder le flux avec i.e. VLC en tapant:

rtsp://192.168.0.xxx:1235/test1.sdp

Voici le FFserver documentation.

14
grzebyk

Une alternative que j’avais utilisée à la place de FFServer était Red5 Pro, sur Ubuntu, j’utilisais cette ligne: ffmpeg -f Pulse -i default -f video4linux2 -thread_queue_size 64 -framerate 25 -video_size 640x480 -i /dev/video0 -pix_fmt yuv420p -bsf:v h264_mp4toannexb -profile:v baseline -level:v 3.2 -c:v libx264 -x264-params keyint=120:scenecut=0 -c:a aac -b:a 128k -ar 44100 -f rtsp -muxdelay 0.1 rtsp://localhost:8554/live/paul

0
Paul Gregoire