ฉันเป็นสตรีมมิ่ง Tera STI440 ที่มีอินพุตสองช่องใช้ (สำหรับการสตรีมทีวีช่อง) เมื่อฉันดูสตรีมต้นทางดูเหมือนว่าดี แต่เมื่อฉันเริ่มการแปลง FFMPEG ภาพจะยุบตามเวลาที่สุ่ม (อาจอยู่ที่ประมาณ 5-15 วินาที) การแปลงรหัสทำได้ด้วยสตรีม SD 480P
ffprobe
หนึ่งในสตรีม HD ของฉัน:
Input #0, rtp, from 'rtp://239.192.24.3:1234/':
Duration: N/A, start: 18002.926656, bitrate: N/A
Program 202
Metadata:
service_name : M5 HD
service_provider: Magyar Televizio
Stream #0:1: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709, top first), 1440x1080 [SAR 4:3 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0:0(hun): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 128 enter code herekb/s
ffprobe
หนึ่งในสตรีม SD ของฉัน (ซึ่งทำงานอย่างถูกต้อง):
Input #0, rtp, from 'rtp://239.192.24.4:1234/':
Duration: N/A, start: 51003.435044, bitrate: N/A
Program 203
Metadata:
service_name : RTL Klub
service_provider: Magyar RTL Telev�zi� Zrt.
Stream #0:0: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(tv, bt470bg, top first), 720x576 [SAR 12:11 DAR 15:11], 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0:1(hun): Audio: aac_latm (HE-AAC) ([17][0][0][0] / 0x0011), 48000 Hz, stereo, fltp
ฉันต้องการสตรีม HLS ดังนั้นฉันจึงใช้คำสั่งนี้เพื่อffmpeg
:
/usr/bin/ffmpeg -loglevel 16 -i rtp://239.192.24.3:1234/ -s pal -c:v libx264 -c:a libmp3lame -b:v 1000k -b:a 96k -ar 44100 -vf 'yadif=0:-1:1' -preset:v superfast -f hls -hls_time 7 -hls_list_size 10 -hls_wrap 10 -hls_base_url http://10.3.1.3:8080/ts/ -hls_segment_filename /tvman/hls_out/ts/M5_hq_%03d /tvman/hls_out/subplaylist/M5-hq.m3u8
ฉันเข้าถึงไฟล์เพลย์ลิสต์จาก NGINX แต่ก็ลอง Apache ด้วย นี่คือบันทึกจากกระบวนการ FFMPEG (loglevel 16)
ฉันทำการวินิจฉัยบางอย่าง:
- ค้นหาปริมาณการใช้เครือข่าย (ประมาณ 60 Mbps ดังนั้นควรใช้ได้กับอีเธอร์เน็ต 100 Mbps
- โหลด CPU และ RAM ได้เลย
- ฉันลดทราฟฟิกเครือข่ายโดยปิดทีวีสตรีมบนสตรีม มันอยู่ที่ประมาณ 6-7 Mbps
หากคุณต้องการข้อมูลเพิ่มเติมฉันจะแจ้งให้คุณทราบ