Почему ffmpeg -rtsp_transport tcp -i не может скопировать поток rtsp с помощью service_provider: Harmonic?

Я пытаюсь скопировать поток rtsp в файл ts с помощью командной строки Linux. Информация о входном потоке:

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"
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
1 502
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я люблю это сам: Просто измените .ts на .avi как

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

Другие вопросы по теме