linux - 为什么 ffmpeg -rtsp_transport tcp -i 无法复制 service_provider : Harmonic? 的 rtsp 流

标签 linux shell ffmpeg rtsp

我正在尝试通过linux命令行将rtsp流复制到ts文件。 输入流信息:

Input #0, rtsp, from 'rtsp://***.***.***.***:554/****/****/****.smil':
  Metadata:
    title           : live
  Duration: N/A, start: 21023.919478, bitrate: 18438 kb/s
  Program 1 
    Metadata:
      service_name    : *****
      service_provider: Harmonic
    Stream #0:0: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv), 1920x1080 [SAR 1:1 DAR 16:9], 17990 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:1(eng): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 448 kb/s
Output #0, mpegts, to '123.ts':
  Metadata:
    title           : live
    encoder         : Lavf56.40.101
    Stream #0:0: Video: mpeg2video ([2][0][0][0] / 0x0002), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 17990 kb/s, 25 fps, 25 tbr, 90k tbn, 90k tbc
    Stream #0:1(eng): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, 448 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)

但它返回错误消息:

[mpegts @ 0x177daa0] first pts value must be set
av_interleaved_write_frame(): Invalid data found when processing input
frame=   11 fps=0.0 q=-1.0 Lsize=     876kB time=00:00:00.79 bitrate=9055.7kbits/s    
video:974kB audio:24kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Conversion failed!

然后退出。

我的命令在另一个 rtsp 流上运行:

Input #0, rtsp, from 'rtsp://***.***.***.***:554/****/****/****.smil':
  Metadata:
    title           : live
  Duration: N/A, start: 29796.561522, bitrate: N/A
  Program 1 
    Stream #0:0: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 50 tbr, 90k tbn, 50 tbc
    Stream #0:1(eng): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 192 kb/s

我的下载命令是:

ffmpeg -rtsp_transport tcp -i "rtsp://***.***.***.***:554/****/****/****.smil" -c copy "`TZ=UTC+8 date "+%Y-%m-%d.%H-%M-%S"`.ts"

最佳答案

我自己解决了: 只需将.ts修改为.avi 就像

ffmpeg -rtsp_transport tcp -i "rtsp://***.***.***.***:554/****/****/****.smil" -c copy "`TZ=UTC+8 date "+%Y-%m-%d.%H-%M-%S"`.avi"

关于linux - 为什么 ffmpeg -rtsp_transport tcp -i 无法复制 service_provider : Harmonic? 的 rtsp 流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55883206/

相关文章:

linux - rsync 在启动时不工作?

linux - Shell 脚本 - 日期/时间和用户列表

ffmpeg - 将特定帧设置为视频的缩略图?

FFmpeg - 连接可变长度的前奏/后奏固定片段和单独的音轨

video - 如何使用 FFMPEG 将 MP4 视频文件转换为 F4V

linux - bash:如何仅传输/复制文件名以分隔相似的文件?

linux - 如何将 linux 内核和引导加载程序添加到 Raspberry Pi2 的 Ubuntu 14.0.4 核心 rootfs?

linux - 计算机系统中的计时机制

python - 获取txt文件中每一行的特定列python

linux - 从 Mac iOS 到 Linux