Какие поддерживаются параметры Muxer для ffmpeg rtp_mpegts? (параметры mpegts Muxer игнорируются) - PullRequest
0 голосов
/ 07 марта 2020

Я создал поток UDP с -f mpegts и некоторыми параметрами, такими как -mpegts_transport_stream_id.

Я получил поток с " StreamXpert - анализатор потока в реальном времени ", который показывает все параметры в выходной. См. Мои параметры ffmpeg и StreamXpert в конце.

Те же параметры Muxer кажутся проигнорированными с -f rtp_mpegts.

Я пытался использовать -f mpegts и направьте его на -f rtp_mpegts примерно так:

ffmpeg -i ... -f mpegts pipe: | ffmpeg pipe: -c copy -f rtp_mpegts "rtp://239.1.1.9:1234?pkt_size=1316"

Опции по-прежнему игнорируются .

Этот билет " support опции для мультиплексора MPEGTS при использовании RTP_MPEGTS"также замечают игнорируемую опцию. Кроме того, в этом комментарии , " thovo " дает анализ и предлагает решение.

Очевидно, что проблема все еще существует. Кто-нибудь нашел обходной путь для этого?

Мой дополнительный вопрос: я не задавался вопросом, действительно ли мой проект действительно нуждается в rtp. Возможно, мой коллега не знал лучше и запросил rtp, когда также будет достаточно udp.

Цель состояла в том, чтобы получить поток RTP с помощью телевизора с использованием DVB через IP. Это было успешно для Panasoni c TV.

Спецификация SAT> IP на стр. 10 требует rtp для передачи данных:

Используется протокол SAT> IP из:

  • UPnP для адресации, обнаружения и описания,
  • RTSP или HTTP для управления,
  • RTP или HTTP для передачи мультимедиа.

Является ли udp вне уравнения?


ffmpeg: (все параметры находятся в выводе с -f mpegts)

(от шестнадцатеричного до десятичного: 0x005A = 90, 0x005B = 91 0x005C = 92, 0x005D = 93, 0x005E = 94)

ffmpeg -f lavfi -i testsrc \
-r 25 \
-c:v libx264 \
-pix_fmt yuv420p \
-profile:v main -level 3.1 \
-preset veryfast \
-vf scale=1280:720,setdar=dar=16/9 \
-an \
-bsf:v h264_mp4toannexb \
-flush_packets 0 \
-b:v 4M \
-muxrate 8M \
-pcr_period 20 \
-pat_period 0.10 \
-sdt_period 0.25 \
-metadata:s:a:0 language=nya \
-mpegts_flags +pat_pmt_at_frames \
-mpegts_transport_stream_id 0x005A \
-mpegts_original_network_id 0x005B \
-mpegts_service_id 0x005C \
-mpegts_pmt_start_pid 0x005D \
-mpegts_start_pid 0x005E \
-mpegts_service_type advanced_codec_digital_hdtv \
-metadata service_provider='WI' \ 
-metadata service_name='W' \
-mpegts_flags system_b -flush_packets 0 \
-f mpegts "udp://239.1.1.10:1234?pkt_size=1316"

StreamXpert Вывод:

-mpegts_transport_stream_id = Transport Stream ID (выделение желтым текстом)

-mpegts_original_network_id = Original Network ID, onw (выделение зеленого текста)

-mpegts_service_id = Program, service (выделение розового текста)

-mpegts_pmt_start_pid = PMT PID, Table PID (выделение бирюзового текста)

-mpegts_start_pid = PID, PCR PID (выделение красным текстом)

-mpegts_service_type = service type (выделение синим цветом)

service_name = Service name (выделение оранжевым) * 11 08 *

service_provider = Service provider (розовый текст)

enter image description here

...