Capturer un flux RTSP dans un fichier via ffmpeg

J’ai eu besoin de récupérer un flux RTSP, protocole souvent utilisé pour streamer des vidéos sur Internet.

Pour cela, un seul outil dans ma boite à outils m’aura été utile : ffmpeg.

Capturer un flux RTSP dans un fichier via ffmpeg

La ligne de commande est simple :

ffmpeg -i rtsp://123.45.67.89/file.mp4 -acodec copy -vcodec copy local.mp4

Soit au final :

C:\\Users\\user>ffmpeg -i rtsp://123.45.67.89/file.mp4 -acodec copy -vcodec copy local.mp4
ffmpeg version N-50911-g9efcfbe Copyright (c) 2000-2013 the FFmpeg developers
  built on Mar 13 2013 21:26:48 with gcc 4.7.2 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libgsm --enable-libilbc --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
  libavutil      52. 19.100 / 52. 19.100
  libavcodec     55.  0.100 / 55.  0.100
  libavformat    55.  0.100 / 55.  0.100
  libavdevice    54.  4.100 / 54.  4.100
  libavfilter     3. 45.103 /  3. 45.103
  libswscale      2.  2.100 /  2.  2.100
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  2.100 / 52.  2.100
[rtsp @ 022daae0] UDP timeout, retrying with TCP
Input #0, rtsp, from 'rtsp://123.45.67.89/file.mp4':
  Metadata:
    title           : WowzaMediaServer
  Duration: 00:51:49.30, start: 0.000000, bitrate: N/A
    Stream #0:0: Audio: aac, 48000 Hz, stereo, fltp
    Stream #0:1: Video: h264 (Main), yuv420p, 640x360 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
Output #0, mp4, to 'local.mp4':
  Metadata:
    title           : WowzaMediaServer
    encoder         : Lavf55.0.100
    Stream #0:0: Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 640x360 [SAR 1:1 DAR 16:9], q=2-31, 25 fps, 90k tbn, 90k tbc
    Stream #0:1: Audio: aac ([64][0][0][0] / 0x0040), 48000 Hz, stereo
Stream mapping:
  Stream #0:1 -> #0:0 (copy)
  Stream #0:0 -> #0:1 (copy)
Press [q] to stop, [?] for help
[mp4 @ 022d8dc0] pts has no value
[mp4 @ 022d8dc0] st:0 PTS: 0 DTS: 0 < 3073 invalid, clipping
[mp4 @ 022d8dc0] st:0 PTS: 3600 DTS: 3600 < 7201 invalid, clipping
[mp4 @ 022d8dc0] st:0 PTS: 1024 DTS: 1024 < 3074 invalid, clipping
[mp4 @ 022d8dc0] st:0 PTS: 2048 DTS: 2048 < 3075 invalid, clipping
[mp4 @ 022d8dc0] st:0 PTS: 3072 DTS: 3072 < 3076 invalid, clipping
[mp4 @ 022d8dc0] st:0 PTS: 10800 DTS: 7200 < 7202 invalid, clipping
frame=77732 fps= 24 q=-1.0 Lsize=  417624kB time=00:51:49.23 bitrate=1100.3kbits/s    58.88 bitrate=1087.5kbits/s
video:375616kB audio:39718kB subtitle:0 global headers:0kB muxing overhead 0.551422%

L’article Capturer un flux RTSP dans un fichier via ffmpeg est apparu en premier sur RootsLabs.

Vus : 1197
Publié par Progi1984 : 78