thor1242 commited on
Commit
7e3726f
·
verified ·
1 Parent(s): 2c6b0d9

Update start.sh

Browse files
Files changed (1) hide show
  1. start.sh +13 -27
start.sh CHANGED
@@ -34,6 +34,7 @@ const puppeteer = require('puppeteer');
34
  '--kiosk',
35
  '--disable-infobars',
36
  '--disable-dev-shm-usage',
 
37
  '--autoplay-policy=no-user-gesture-required'
38
  ]
39
  });
@@ -47,13 +48,10 @@ const puppeteer = require('puppeteer');
47
  })();
48
  " > server.js
49
 
50
- # 4. Create Smart DNS Resolver (DNS over HTTPS)
51
- # This asks Google's Web API for the IP, bypassing local DNS blocks
52
  echo "
53
  const https = require('https');
54
-
55
  const url = 'https://dns.google/resolve?name=a.rtmp.youtube.com&type=A';
56
-
57
  https.get(url, (res) => {
58
  let data = '';
59
  res.on('data', (chunk) => data += chunk);
@@ -61,19 +59,11 @@ https.get(url, (res) => {
61
  try {
62
  const json = JSON.parse(data);
63
  if (json.Answer) {
64
- // Return the first valid IP
65
- const record = json.Answer.find(a => a.type === 1);
66
- console.log(record ? record.data : 'DNS_FAIL');
67
- } else {
68
- console.log('DNS_FAIL');
69
- }
70
- } catch (e) {
71
- console.log('DNS_FAIL');
72
- }
73
  });
74
- }).on('error', (err) => {
75
- console.log('DNS_FAIL');
76
- });
77
  " > resolve_ip.js
78
 
79
  # 5. Start Website
@@ -81,22 +71,18 @@ node server.js &
81
  sleep 15
82
 
83
  # 6. Resolve YouTube IP
84
- echo "Resolving YouTube IP via Google API..."
85
  YOUTUBE_IP=$(node resolve_ip.js)
86
-
87
- # Fallback only if the API fails entirely
88
- if [ "$YOUTUBE_IP" == "DNS_FAIL" ] || [ -z "$YOUTUBE_IP" ] || [ "$YOUTUBE_IP" == "undefined" ]; then
89
- echo "API DNS failed. Using Hardcoded Fallback..."
90
- YOUTUBE_IP="142.250.179.140" # Updated fallback
91
  fi
92
-
93
  echo "Targeting Server: $YOUTUBE_IP"
94
 
95
- # 7. Start Stream
96
- # Removed -loglevel error so we can see what happens
97
  ffmpeg -y \
98
  -thread_queue_size 1024 -f x11grab -draw_mouse 0 -s 1080x1920 -framerate 30 -i :99 \
99
  -thread_queue_size 1024 -stream_loop -1 -i bgm.mp3 \
100
- -c:v libx264 -preset ultrafast -b:v 3000k -minrate 2500k -maxrate 4000k -bufsize 6000k -pix_fmt yuv420p -g 60 \
101
- -c:a aac -b:a 128k -map 0:v:0 -map 1:a:0 \
102
  -f flv "rtmp://$YOUTUBE_IP:1935/live2/$YOUTUBE_KEY"
 
34
  '--kiosk',
35
  '--disable-infobars',
36
  '--disable-dev-shm-usage',
37
+ '--disable-gpu',
38
  '--autoplay-policy=no-user-gesture-required'
39
  ]
40
  });
 
48
  })();
49
  " > server.js
50
 
51
+ # 4. Create Smart DNS Resolver
 
52
  echo "
53
  const https = require('https');
 
54
  const url = 'https://dns.google/resolve?name=a.rtmp.youtube.com&type=A';
 
55
  https.get(url, (res) => {
56
  let data = '';
57
  res.on('data', (chunk) => data += chunk);
 
59
  try {
60
  const json = JSON.parse(data);
61
  if (json.Answer) {
62
+ console.log(json.Answer.find(a => a.type === 1).data);
63
+ } else { console.log('DNS_FAIL'); }
64
+ } catch (e) { console.log('DNS_FAIL'); }
 
 
 
 
 
 
65
  });
66
+ }).on('error', (err) => console.log('DNS_FAIL'));
 
 
67
  " > resolve_ip.js
68
 
69
  # 5. Start Website
 
71
  sleep 15
72
 
73
  # 6. Resolve YouTube IP
74
+ echo "Resolving YouTube IP..."
75
  YOUTUBE_IP=$(node resolve_ip.js)
76
+ if [ "$YOUTUBE_IP" == "DNS_FAIL" ] || [ -z "$YOUTUBE_IP" ]; then
77
+ YOUTUBE_IP="142.250.179.140"
 
 
 
78
  fi
 
79
  echo "Targeting Server: $YOUTUBE_IP"
80
 
81
+ # 7. Start Stream (CPU OPTIMIZED)
82
+ # Changes: Reduced bitrate to 2500k, changed preset to ultrafast, added -r 30 output enforcement
83
  ffmpeg -y \
84
  -thread_queue_size 1024 -f x11grab -draw_mouse 0 -s 1080x1920 -framerate 30 -i :99 \
85
  -thread_queue_size 1024 -stream_loop -1 -i bgm.mp3 \
86
+ -c:v libx264 -preset ultrafast -b:v 2500k -maxrate 3000k -bufsize 6000k -pix_fmt yuv420p -g 60 -r 30 \
87
+ -c:a aac -b:a 128k -ar 44100 -map 0:v:0 -map 1:a:0 \
88
  -f flv "rtmp://$YOUTUBE_IP:1935/live2/$YOUTUBE_KEY"