Аудио ffmpeg заикается при конвертации из h264 в mpeg2 - PullRequest
0 голосов
/ 09 февраля 2019

Я хочу преобразовать источник потока h264 (streamlink) в видео mpeg2 и отправить его на модулятор DVB-T (Hides UT100C).Пока что мне удалось воспроизвести видео плавно, но звук прерывистый.Похоже, что части отсутствуют.Я думаю, что некоторые параметры не установлены идеально:

$streamlink -O https://zattoo.com/watch/orf-2 best | ffmpeg -re -i pipe:0 -vcodec mpeg2video -s 720x576 -r 30 -b:v 10M -b:a 64k -acodec mp2 -mpegts_original_network_id 1 -mpegts_transport_stream_id 1 -mpegts_service_id 1 -mpegts_pmt_start_pid 1000 -mpegts_start_pid 1001 -metadata service_provider="HOME" -metadata service_name="IPTV" -muxrate 10M -f mpegts -y tspipe | sudo ./tsrfsend tspipe 0 578000 8000 4 1/2 1/4 8 0 0

[cli][info] Found matching plugin zattoo for URL https://zattoo.com/watch/orf-2
[cli][info] Available streams: 600k_alt (worst), 600k, 900k, 1500k (best)
[cli][info] Opening stream: 1500k (hls)
Input #0, mpegts, from 'pipe:0':
  Duration: N/A, start: 45236.000000, bitrate: N/A
  Program 1
    Stream #0:0[0x100]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(progressive), 768x432 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x101]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 128 kb/s

Open /dev/usb-it950x0 ok
g_ITEAPI_TxDeviceInit ok
1 Devices
g_ITEAPI_GetDrvInfo ok
DriverInfo.DriverVerion  = v16.11.10.1
DriverInfo.APIVerion     = 1.3.20160929.0
DriverInfo.FWVerionLink  = 255.39.2.0
DriverInfo.FWVerionOFDM  = 255.9.11.0
DriverInfo.Company       = ITEtech
DriverInfo.SupportHWInfo = Eagle DVBT
DriverInfo.ProductID     = 0x9507
Frequency = 578000 KHz
Bandwidth = 8000 MHz
Constellation: QPSK
Code Rate: 1/2
Interval: 1/4
Transmission Mode: 8K
Output #0, mpegts, to 'tspipe':
  Metadata:
    service_provider: HOME
    service_name    : IPTV
    encoder         : Lavf57.56.101
    Stream #0:0: Video: mpeg2video (Main), yuv420p, 720x576 [SAR 64:45 DAR 16:9], q=2-31, 10000 kb/s, 30 fps, 90k tbn, 30 tbc
    Metadata:
      encoder         : Lavc57.64.101 mpeg2video
    Side data:
      cpb: bitrate max/min/avg: 0/0/10000000 buffer size: 0 vbv_delay: -1
    Stream #0:1: Audio: mp2, 48000 Hz, stereo, s16, 64 kb/s
    Metadata:
      encoder         : Lavc57.64.101 mp2
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> mpeg2video (native))
  Stream #0:1 -> #0:1 (aac (native) -> mp2 (native))
Channel Capacity is 4976172 bps
MinGain: -52, MaxGain: 5
frame=    3 fps=0.0 q=2.0 size=      63kB time=00:00:00.38 bitrate=1337.3kbits/s

Tsrfsend - это приложение, которое отправляет сгенерированный поток TS по именованному каналу на USB-модулятор.

Я также пробовал различные битрейты аудионапример, 64, 192, 384 КБ, но все очень похоже.

...