Я создал поток 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
(розовый текст)