2014-04-23 6 views
8

Ich bin mit ffmpeg (Windows 7, 64-Bit) von der Kommandozeile ein Bild aus einem RTSP-Stream (zweiten Kanal von meinem DVR) zu erhalten:Kraft FFMPEG TCP-Protokoll zu verwenden, wenn ein RTSP-Stream liest

ffmpeg -i "rtsp://xxx.xxx.xxx.xxx:554/user=xxxx&password=xxxx&channel=2&stream=0.sdp" -rtsp_transport tcp -y video.jpg 

nach dem laufen, wartet er für etwa 10 Sekunden und ich bekomme dann:

[rtsp @ 026fd840] UDP timeout, retrying with TCP 

nach einer weiteren langen Wartezeit (2 Minuten oder so), erhalte ich:

[rtsp @ 028dd840] Could not find codec parameters for stream 0 (Video: h264): unspecified size 

Ich habe irgendwo gelesen, dass ich TCP zwingen muss, weil der Wechsel von UDP zu TCP nicht funktioniert.

Ich verstehe nicht, warum -rtsp_transport tcp nicht funktioniert.

Ich benutze ffmpeg version N-62509-g97751e1 built on Apr 17 2014 22:01:31 with gcc 4.8.2 (GCC).

Bitte helfen Sie mir. Danke.

+0

[so] ist für die Programmierung von Fragen nur, wo der Benutzer im Allgemeinen erwartet wird, den entsprechenden Programmiercode anzuzeigen. Ihre Frage ist für [su] besser geeignet und kann dort für die Migration abgestimmt/markiert werden (was gegenüber dem Crossposting bevorzugt wird). – LordNeckbeard

Antwort

16

setzen Sie einfach den "-rtsp_transport tcp" direkt nach "ffmpeg", so dass es für den Eingabestrom gilt. Wie folgt aus:

ffmpeg -rtsp_transport tcp -i "rtsp: //xxx.xxx.xxx.xxx: 554/user = xxxx & password = xxxx & channel = 2 & stream = 0.sdp" -y Video. jpg

+1

Warum hast du zweimal '-rtsp_transport tcp'? – Notinlist

+0

@Notinlist nur vergessen, es aus der ursprünglichen Antwort zu entfernen :) Bearbeitet! –