FFMPEG - Кодек Копировать перекодированное аудио из первого выходного транспортного потока в другие транспортные потоки - PullRequest
0 голосов
/ 27 марта 2019

В настоящее время я пытаюсь сгенерировать 3 выходных транспортных потока из одного входного потока, для этого мне нужно сделать кодирование видео для каждого выхода, так как я хотел иметь разную скорость передачи битов для каждого потока. Но для аудиопотока у меня одинаковый битрейт и одинаковые параметры для всех 3 выходных транспортных потоков. Поэтому я хочу каким-то образом транскодировать звук только в первый раз (в первом потоке, скажем, из AC3 в AAC), а затем просто хочу скопировать перекодированный аудиосигнал с первого выхода (aac) на другие 2 выхода. так что это сэкономит вычислительную мощность.

У меня есть общая команда настройки для этого, но я не могу настроить для копирования аудио, чтобы я мог получать выходной звук с первого выхода транспортного потока

Пожалуйста, обратитесь к следующей команде:

ffmpeg -loglevel 40 -анализованный анализ 10M -пробезиб 10M -thread_queue_size 1024 -c: v h264_cuvid -gpu 2 -i "udp: //@239.1.1.111: 1234? Fifo_size = 1000000 & buffer_size = 100000 & overatal_n_ 0: v] split = 3 [cl1] [cl2] [temp1]; [temp1] scale = -1: 480 [cl3] "-map [cl1] -map 0: a: 0 -c: v h264_nvenc -gpu 2 -preset hq -strict экспериментальный -b: v 4500k -bufsize 5000k -bf 3 -профиль: v высокоуровневый 4 -кодер 1 -sc_threshold 0 -минт 4500k -макс. 4500k -g 15 -акодек libfdk_aac -b: 192k -ar 48000 -ac 2 -flush_packets 0 -f mpegts -mpegts_flags + resend_headers + pat_pmt_at_frames -metadata service_provider = Test_OP1 -metadata имя_сервиса = MyService1 -max_muxing_queue_size 1024 -p2_size_23.1 = 1000 & fifo_size = 1000000 & burst_bits = 50000 "-map [cl2] -map 0: a: 0 -c: v h264_nvenc -gpu 2 -preset hq-строгий экспериментальный -b: v 3500k -bufsize 4000k -bf 3 -профиль: v высокий - уровень 4 -кодер 1 -sc_threshold 0 -минт 3500k -макс 3500k -g 15 -акодек copy -flush_packets 0 -f mpegts -mpegts_flags + resend_headers + pat_pmt_at_frames -metadata service_provider = Test_OP2 -metadata имя_сервиса = MyService2 -max_muxing_queue_size 1024 -pcr_period 20 & gt; 1000000 & burst_bits = 50000 "-map [cl3] -map 0: a: 0 -c: v h264_nvenc -gpu 2 -preset hq -strict экспериментальный -b: v 2500k -bufsize 3000k -bf 3 -профиль: v высокий уровень-4 - minrate 2500k -maxrate 2500k -g 15 -кодер 1 -sc_threshold 0 -акодек-копирование -flush_packets 0 -f mpegts -mpegts_flags + resend_headers + pat_pmt_at_frames -metadata service_provider = Test_OP3 -metadata service_name = My_service_M_Sec_3_service //239.1.1.222:3333?pkt_size=1316&reuse=1&buffer_size=1000&fifo_size=1000000&burst_bits=50000"

Я хочу, чтобы выходной поток "239.1.1.222:2222" и "239.1.1.222:3333" должен был скопировать аудиопоток (AAC) из первого выходного потока "239.1.1.222:1111", а не из основного входного потока " 239.1.1.111:1234"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...