| OLD | NEW |
| 1 @chapter Protocols | 1 @chapter Protocols |
| 2 @c man begin PROTOCOLS | 2 @c man begin PROTOCOLS |
| 3 | 3 |
| 4 Protocols are configured elements in FFmpeg which allow to access | 4 Protocols are configured elements in FFmpeg which allow to access |
| 5 resources which require the use of a particular protocol. | 5 resources which require the use of a particular protocol. |
| 6 | 6 |
| 7 When you configure your FFmpeg build, all the supported protocols are | 7 When you configure your FFmpeg build, all the supported protocols are |
| 8 enabled by default. You can list all available ones using the | 8 enabled by default. You can list all available ones using the |
| 9 configure option "--list-protocols". | 9 configure option "--list-protocols". |
| 10 | 10 |
| (...skipping 272 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 283 | 283 |
| 284 To send a stream in realtime to a RTSP server, for others to watch: | 284 To send a stream in realtime to a RTSP server, for others to watch: |
| 285 | 285 |
| 286 @example | 286 @example |
| 287 ffmpeg -re -i @var{input} -f rtsp -muxdelay 0.1 rtsp://server/live.sdp | 287 ffmpeg -re -i @var{input} -f rtsp -muxdelay 0.1 rtsp://server/live.sdp |
| 288 @end example | 288 @end example |
| 289 | 289 |
| 290 @section sap | 290 @section sap |
| 291 | 291 |
| 292 Session Announcement Protocol (RFC 2974). This is not technically a | 292 Session Announcement Protocol (RFC 2974). This is not technically a |
| 293 protocol handler in libavformat, it is a muxer. | 293 protocol handler in libavformat, it is a muxer and demuxer. |
| 294 It is used for signalling of RTP streams, by announcing the SDP for the | 294 It is used for signalling of RTP streams, by announcing the SDP for the |
| 295 streams regularly on a separate port. | 295 streams regularly on a separate port. |
| 296 | 296 |
| 297 @subsection Muxer |
| 298 |
| 297 The syntax for a SAP url given to the muxer is: | 299 The syntax for a SAP url given to the muxer is: |
| 298 @example | 300 @example |
| 299 sap://@var{destination}[:@var{port}][?@var{options}] | 301 sap://@var{destination}[:@var{port}][?@var{options}] |
| 300 @end example | 302 @end example |
| 301 | 303 |
| 302 The RTP packets are sent to @var{destination} on port @var{port}, | 304 The RTP packets are sent to @var{destination} on port @var{port}, |
| 303 or to port 5004 if no port is specified. | 305 or to port 5004 if no port is specified. |
| 304 @var{options} is a @code{&}-separated list. The following options | 306 @var{options} is a @code{&}-separated list. The following options |
| 305 are supported: | 307 are supported: |
| 306 | 308 |
| (...skipping 11 matching lines...) Expand all Loading... |
| 318 | 320 |
| 319 @item ttl=@var{ttl} | 321 @item ttl=@var{ttl} |
| 320 Specify the time to live value for the announcements and RTP packets, | 322 Specify the time to live value for the announcements and RTP packets, |
| 321 defaults to 255. | 323 defaults to 255. |
| 322 | 324 |
| 323 @item same_port=@var{0|1} | 325 @item same_port=@var{0|1} |
| 324 If set to 1, send all RTP streams on the same port pair. If zero (the | 326 If set to 1, send all RTP streams on the same port pair. If zero (the |
| 325 default), all streams are sent on unique ports, with each stream on a | 327 default), all streams are sent on unique ports, with each stream on a |
| 326 port 2 numbers higher than the previous. | 328 port 2 numbers higher than the previous. |
| 327 VLC/Live555 requires this to be set to 1, to be able to receive the stream. | 329 VLC/Live555 requires this to be set to 1, to be able to receive the stream. |
| 330 The RTP stack in libavformat for receiving requires all streams to be sent |
| 331 on unique ports. |
| 328 @end table | 332 @end table |
| 329 | 333 |
| 330 Example command lines follow. | 334 Example command lines follow. |
| 331 | 335 |
| 332 To broadcast a stream on the local subnet, for watching in VLC: | 336 To broadcast a stream on the local subnet, for watching in VLC: |
| 333 | 337 |
| 334 @example | 338 @example |
| 335 ffmpeg -re -i @var{input} -f sap sap://224.0.0.255?same_port=1 | 339 ffmpeg -re -i @var{input} -f sap sap://224.0.0.255?same_port=1 |
| 336 @end example | 340 @end example |
| 337 | 341 |
| 342 Similarly, for watching in ffplay: |
| 343 |
| 344 @example |
| 345 ffmpeg -re -i @var{input} -f sap sap://224.0.0.255 |
| 346 @end example |
| 347 |
| 348 And for watching in ffplay, over IPv6: |
| 349 |
| 350 @example |
| 351 ffmpeg -re -i @var{input} -f sap sap://[ff0e::1:2:3:4] |
| 352 @end example |
| 353 |
| 354 @subsection Demuxer |
| 355 |
| 356 The syntax for a SAP url given to the demuxer is: |
| 357 @example |
| 358 sap://[@var{address}][:@var{port}] |
| 359 @end example |
| 360 |
| 361 @var{address} is the multicast address to listen for announcements on, |
| 362 if omitted, the default 224.2.127.254 (sap.mcast.net) is used. @var{port} |
| 363 is the port that is listened on, 9875 if omitted. |
| 364 |
| 365 The demuxers listens for announcements on the given address and port. |
| 366 Once an announcement is received, it tries to receive that particular stream. |
| 367 |
| 368 Example command lines follow. |
| 369 |
| 370 To play back the first stream announced on the normal SAP multicast address: |
| 371 |
| 372 @example |
| 373 ffplay sap:// |
| 374 @end example |
| 375 |
| 376 To play back the first stream announced on one the default IPv6 SAP multicast ad
dress: |
| 377 |
| 378 @example |
| 379 ffplay sap://[ff0e::2:7ffe] |
| 380 @end example |
| 381 |
| 338 @section tcp | 382 @section tcp |
| 339 | 383 |
| 340 Trasmission Control Protocol. | 384 Trasmission Control Protocol. |
| 341 | 385 |
| 342 @section udp | 386 @section udp |
| 343 | 387 |
| 344 User Datagram Protocol. | 388 User Datagram Protocol. |
| 345 | 389 |
| 346 The required syntax for a UDP url is: | 390 The required syntax for a UDP url is: |
| 347 @example | 391 @example |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 387 @example | 431 @example |
| 388 ffmpeg -i @var{input} -f mpegts udp://@var{hostname}:@var{port}?pkt_size=188&buf
fer_size=65535 | 432 ffmpeg -i @var{input} -f mpegts udp://@var{hostname}:@var{port}?pkt_size=188&buf
fer_size=65535 |
| 389 @end example | 433 @end example |
| 390 | 434 |
| 391 To receive over UDP from a remote endpoint: | 435 To receive over UDP from a remote endpoint: |
| 392 @example | 436 @example |
| 393 ffmpeg -i udp://[@var{multicast-address}]:@var{port} | 437 ffmpeg -i udp://[@var{multicast-address}]:@var{port} |
| 394 @end example | 438 @end example |
| 395 | 439 |
| 396 @c man end PROTOCOLS | 440 @c man end PROTOCOLS |
| OLD | NEW |