waha-shared 1.0.333 → 1.0.335

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/dist/data/bibleAudios/bibleAudios.json +10 -0
  2. package/dist/data/bibleStatuses/bibleStatuses.json +32 -2013
  3. package/dist/data/bibleTexts/bibleTexts.json +10 -0
  4. package/dist/data/languageAssets/index.d.ts +1 -0
  5. package/dist/data/languageAssets/index.js +7 -0
  6. package/dist/data/languageAssets/languageAssets.json +44404 -0
  7. package/dist/data/languageAssets/languageAssets.schema.json +19 -0
  8. package/dist/data/languageAssets/languageAssets.zod.d.ts +3 -0
  9. package/dist/data/languageAssets/languageAssets.zod.js +7 -0
  10. package/dist/data/languages/index.d.ts +5 -1
  11. package/dist/data/languages/languages.json +139 -48
  12. package/dist/data/languages/languages.schema.json +24 -3
  13. package/dist/data/languages/languages.zod.d.ts +10 -1
  14. package/dist/data/languages/languages.zod.js +18 -5
  15. package/dist/data/mediaDurations/mediaDurations.json +24823 -675
  16. package/dist/data/releaseNotes/releaseNotes.json +2 -9
  17. package/dist/data/translationsApp/index.d.ts +1 -0
  18. package/dist/data/translationsApp/translationsApp.json +41 -0
  19. package/dist/data/translationsApp/translationsApp.zod.d.ts +2 -0
  20. package/dist/data/translationsApp/translationsApp.zod.js +1 -0
  21. package/dist/data/youtubeVideos/youtubeVideos.json +55 -115
  22. package/dist/functions/ffmpeg.d.ts +104 -0
  23. package/dist/functions/ffmpeg.js +307 -0
  24. package/dist/functions/scripturePassages.js +9 -11
  25. package/dist/functions/sets.d.ts +15 -4
  26. package/dist/functions/sets.js +168 -228
  27. package/dist/functions/upload.d.ts +34 -0
  28. package/dist/functions/upload.js +49 -0
  29. package/dist/functions/utils.d.ts +6 -1
  30. package/dist/functions/utils.js +18 -4
  31. package/dist/types/sets.d.ts +22 -19
  32. package/package.json +3 -2
@@ -1,9 +1,6 @@
1
1
  {
2
2
  "$schema": "./youtubeVideos.schema.json",
3
3
  "data": {
4
- "aeb.ara.03.009.001.1080.mp4": "dFcK1eSjua4",
5
- "aeb.ara.03.009.002.1080.mp4": "qlKJlh7Eoy4",
6
- "aeb.ara.03.009.003.1080.mp4": "SzpgbF6ZBGo",
7
4
  "aeb.ara.03.009.004.1080.mp4": "kcTTdkoXmLI",
8
5
  "aeb.ara.03.009.005.1080.mp4": "S9JNjdBotTQ",
9
6
  "aeb.ara.03.009.006.1080.mp4": "hvzAxL-sEu8",
@@ -11,9 +8,6 @@
11
8
  "aeb.ara.03.009.008.1080.mp4": "DaFDK-m9rcc",
12
9
  "aeb.ara.03.009.009.1080.mp4": "GdFSLhQ5zjo",
13
10
  "aeb.ara.03.009.010.1080.mp4": "dXEWeLg9ync",
14
- "afb.ara.03.009.001.1080.mp4": "GciA3FqMMjo",
15
- "afb.ara.03.009.002.1080.mp4": "5H736Ur4V9A",
16
- "afb.ara.03.009.003.1080.mp4": "6Jrq8uS8LTE",
17
11
  "afb.ara.03.009.004.1080.mp4": "hX4Ah0RaqXU",
18
12
  "afb.ara.03.009.005.1080.mp4": "UUtWGBkkbe8",
19
13
  "afb.ara.03.009.006.1080.mp4": "leILIB8giis",
@@ -21,9 +15,6 @@
21
15
  "afb.ara.03.009.008.1080.mp4": "iofXOtDSaDU",
22
16
  "afb.ara.03.009.009.1080.mp4": "oae20bYMysI",
23
17
  "afb.ara.03.009.010.1080.mp4": "3O8Ic7oMeWQ",
24
- "ais.ara.03.009.001.1080.mp4": "vTCWxqU9Yg0",
25
- "ais.ara.03.009.002.1080.mp4": "VRnAgKQt1ac",
26
- "ais.ara.03.009.003.1080.mp4": "ppPOnHebMOY",
27
18
  "ais.ara.03.009.004.1080.mp4": "KpKTibOcopE",
28
19
  "ais.ara.03.009.005.1080.mp4": "5cWaSnxLTI8",
29
20
  "ais.ara.03.009.006.1080.mp4": "hgtGel-VO08",
@@ -31,9 +22,6 @@
31
22
  "ais.ara.03.009.008.1080.mp4": "jvsI90oe2ts",
32
23
  "ais.ara.03.009.009.1080.mp4": "bHu5kV0eIjI",
33
24
  "ais.ara.03.009.010.1080.mp4": "unspi08hu_I",
34
- "apa.ara.03.009.001.1080.mp4": "qpN6eUUJTN4",
35
- "apa.ara.03.009.002.1080.mp4": "23kTw6lX5Wo",
36
- "apa.ara.03.009.003.1080.mp4": "HAUGlAbNt3I",
37
25
  "apa.ara.03.009.004.1080.mp4": "WFEOwjqWaDk",
38
26
  "apa.ara.03.009.005.1080.mp4": "qAHl7EOHkhk",
39
27
  "apa.ara.03.009.006.1080.mp4": "Mq-Q8-jscns",
@@ -41,9 +29,6 @@
41
29
  "apa.ara.03.009.008.1080.mp4": "l9HkPme9ncU",
42
30
  "apa.ara.03.009.009.1080.mp4": "rdz6VEMZNns",
43
31
  "apa.ara.03.009.010.1080.mp4": "bgGaPVjukTQ",
44
- "apc.ara.03.009.001.1080.mp4": "I9MW-tP5yLY",
45
- "apc.ara.03.009.002.1080.mp4": "bnhVJqSPA1s",
46
- "apc.ara.03.009.003.1080.mp4": "dpYicxrURiE",
47
32
  "apc.ara.03.009.004.1080.mp4": "SyZkxQhLzZU",
48
33
  "apc.ara.03.009.005.1080.mp4": "ftUpqYs5fRE",
49
34
  "apc.ara.03.009.006.1080.mp4": "HIL6uiKI6Kg",
@@ -51,9 +36,12 @@
51
36
  "apc.ara.03.009.008.1080.mp4": "pD8GVTzoKco",
52
37
  "apc.ara.03.009.009.1080.mp4": "wsWOsX3DGj8",
53
38
  "apc.ara.03.009.010.1080.mp4": "6mWFlwor92E",
54
- "ary.ary.03.009.001.1080.mp4": "JXtaWsZkj_c",
55
- "ary.ary.03.009.002.1080.mp4": "TEuT0OdtoKQ",
56
- "ary.ary.03.009.003.1080.mp4": "CqWYpjKc7Qk",
39
+ "ara.03.009.001.mp4": "dFcK1eSjua4",
40
+ "ara.03.009.002.mp4": "qlKJlh7Eoy4",
41
+ "ara.03.009.003.mp4": "SzpgbF6ZBGo",
42
+ "ary.03.009.001.mp4": "JXtaWsZkj_c",
43
+ "ary.03.009.002.mp4": "TEuT0OdtoKQ",
44
+ "ary.03.009.003.mp4": "CqWYpjKc7Qk",
57
45
  "ary.ary.03.009.004.1080.mp4": "LOJs-htN90Y",
58
46
  "ary.ary.03.009.005.1080.mp4": "EnLvEbGPYx4",
59
47
  "ary.ary.03.009.006.1080.mp4": "iEg8RCJhcz4",
@@ -61,9 +49,6 @@
61
49
  "ary.ary.03.009.008.1080.mp4": "I4YTJkkOaCk",
62
50
  "ary.ary.03.009.009.1080.mp4": "s61BVTUW8Qs",
63
51
  "ary.ary.03.009.010.1080.mp4": "g2GRAHuRmgA",
64
- "arz.ara.03.009.001.1080.mp4": "WVyf0yfqoh8",
65
- "arz.ara.03.009.002.1080.mp4": "jhfrzH0ZaXM",
66
- "arz.ara.03.009.003.1080.mp4": "WWHt6WhRxRs",
67
52
  "arz.ara.03.009.004.1080.mp4": "38-StdE7znM",
68
53
  "arz.ara.03.009.005.1080.mp4": "O8Oep7I_sSQ",
69
54
  "arz.ara.03.009.006.1080.mp4": "_wd9RaO0vFw",
@@ -71,9 +56,6 @@
71
56
  "arz.ara.03.009.008.1080.mp4": "53FFgfW12pY",
72
57
  "arz.ara.03.009.009.1080.mp4": "dBm53hNjkHU",
73
58
  "arz.ara.03.009.010.1080.mp4": "sXqs6hCqXhI",
74
- "ayl.ara.03.009.001.1080.mp4": "DNH3vg5aPRo",
75
- "ayl.ara.03.009.002.1080.mp4": "0xvtpB9n-wU",
76
- "ayl.ara.03.009.003.1080.mp4": "2vf0Kcnv_U4",
77
59
  "ayl.ara.03.009.004.1080.mp4": "t0tgM6U2wSI",
78
60
  "ayl.ara.03.009.005.1080.mp4": "J3rus-kc7Bk",
79
61
  "ayl.ara.03.009.006.1080.mp4": "B_z5AbsKON0",
@@ -81,9 +63,9 @@
81
63
  "ayl.ara.03.009.008.1080.mp4": "Or79vluwpPU",
82
64
  "ayl.ara.03.009.009.1080.mp4": "69T-0jNtndg",
83
65
  "ayl.ara.03.009.010.1080.mp4": "TKg_-pNAnak",
84
- "cmn.cmn.03.009.001.1080.mp4": "EJdja8QVRgc",
85
- "cmn.cmn.03.009.002.1080.mp4": "fazq3G5_iG4",
86
- "cmn.cmn.03.009.003.1080.mp4": "JpFdhHWusPU",
66
+ "cmn.03.009.001.mp4": "EJdja8QVRgc",
67
+ "cmn.03.009.002.mp4": "fazq3G5_iG4",
68
+ "cmn.03.009.003.mp4": "JpFdhHWusPU",
87
69
  "cmn.cmn.03.009.004.1080.mp4": "jMbpsu9lhJs",
88
70
  "cmn.cmn.03.009.005.1080.mp4": "BZcFOmtY_V0",
89
71
  "cmn.cmn.03.009.006.1080.mp4": "tK5i0KSvFq4",
@@ -91,9 +73,9 @@
91
73
  "cmn.cmn.03.009.008.1080.mp4": "Zbpo2v5YOKE",
92
74
  "cmn.cmn.03.009.009.1080.mp4": "uxIc9k_6aU8",
93
75
  "cmn.cmn.03.009.010.1080.mp4": "XEv-945fMJc",
94
- "eng.eng.03.009.001.1080.mp4": "DxIexa7xMRk",
95
- "eng.eng.03.009.002.1080.mp4": "zrxr62YMBW4",
96
- "eng.eng.03.009.003.1080.mp4": "8faADr1p6lQ",
76
+ "eng.03.009.001.mp4": "DxIexa7xMRk",
77
+ "eng.03.009.002.mp4": "zrxr62YMBW4",
78
+ "eng.03.009.003.mp4": "8faADr1p6lQ",
97
79
  "eng.eng.03.009.004.1080.mp4": "9WEK4m6xpWM",
98
80
  "eng.eng.03.009.005.1080.mp4": "Qm6acVzgBDc",
99
81
  "eng.eng.03.009.006.1080.mp4": "YAn3pYcrE4E",
@@ -101,9 +83,9 @@
101
83
  "eng.eng.03.009.008.1080.mp4": "MPnjSJ13JwA",
102
84
  "eng.eng.03.009.009.1080.mp4": "tPiFeIfr-m8",
103
85
  "eng.eng.03.009.010.1080.mp4": "MRTQ0gACv04",
104
- "fra.fra.03.009.001.1080.mp4": "WUKOlWoOZ_c",
105
- "fra.fra.03.009.002.1080.mp4": "MndcXkkwNmo",
106
- "fra.fra.03.009.003.1080.mp4": "oMvtBpAx5es",
86
+ "fra.03.009.001.mp4": "WUKOlWoOZ_c",
87
+ "fra.03.009.002.mp4": "MndcXkkwNmo",
88
+ "fra.03.009.003.mp4": "oMvtBpAx5es",
107
89
  "fra.fra.03.009.004.1080.mp4": "JeKurCUNkno",
108
90
  "fra.fra.03.009.005.1080.mp4": "AsJoyldBPzo",
109
91
  "fra.fra.03.009.006.1080.mp4": "gjGpSTY0Tco",
@@ -111,9 +93,6 @@
111
93
  "fra.fra.03.009.008.1080.mp4": "KXzZHgFoW08",
112
94
  "fra.fra.03.009.009.1080.mp4": "_xa2t4MYEIM",
113
95
  "fra.fra.03.009.010.1080.mp4": "HIp0nlk02RI",
114
- "hic.hin.03.009.001.1080.mp4": "RRNaarmkFVE",
115
- "hic.hin.03.009.002.1080.mp4": "EYPpbtejFY0",
116
- "hic.hin.03.009.003.1080.mp4": "FpUspFzfn7o",
117
96
  "hic.hin.03.009.004.1080.mp4": "gasN-4BNMUU",
118
97
  "hic.hin.03.009.005.1080.mp4": "TYz9iUf3teQ",
119
98
  "hic.hin.03.009.006.1080.mp4": "dNHjMnHXHrA",
@@ -121,9 +100,9 @@
121
100
  "hic.hin.03.009.008.1080.mp4": "cw6v5Y-PBSE",
122
101
  "hic.hin.03.009.009.1080.mp4": "gyLC_g4gcsw",
123
102
  "hic.hin.03.009.010.1080.mp4": "1SfKZHh8bkQ",
124
- "hin.hin.03.009.001.1080.mp4": "bBUidIjNRQ8",
125
- "hin.hin.03.009.002.1080.mp4": "9YRT4F2Ui0Y",
126
- "hin.hin.03.009.003.1080.mp4": "HrNfxSYkUvc",
103
+ "hin.03.009.001.mp4": "bBUidIjNRQ8",
104
+ "hin.03.009.002.mp4": "9YRT4F2Ui0Y",
105
+ "hin.03.009.003.mp4": "HrNfxSYkUvc",
127
106
  "hin.hin.03.009.004.1080.mp4": "hwmyIgrRRiI",
128
107
  "hin.hin.03.009.005.1080.mp4": "iIrpuFSZGag",
129
108
  "hin.hin.03.009.006.1080.mp4": "MR7z2i65Clw",
@@ -131,9 +110,9 @@
131
110
  "hin.hin.03.009.008.1080.mp4": "MB8Dkx7L4sE",
132
111
  "hin.hin.03.009.009.1080.mp4": "PeZcYLX4qnI",
133
112
  "hin.hin.03.009.010.1080.mp4": "RH65gD0SkIQ",
134
- "ind.ind.03.009.001.1080.mp4": "1OTaR8JGM9k",
135
- "ind.ind.03.009.002.1080.mp4": "a3kqN9zF1Oo",
136
- "ind.ind.03.009.003.1080.mp4": "nF5PUQTow3Q",
113
+ "ind.03.009.001.mp4": "1OTaR8JGM9k",
114
+ "ind.03.009.002.mp4": "a3kqN9zF1Oo",
115
+ "ind.03.009.003.mp4": "nF5PUQTow3Q",
137
116
  "ind.ind.03.009.004.1080.mp4": "sxaoYoK7Urk",
138
117
  "ind.ind.03.009.005.1080.mp4": "RVkSilP8oKE",
139
118
  "ind.ind.03.009.006.1080.mp4": "yXtM15wFvW4",
@@ -141,9 +120,9 @@
141
120
  "ind.ind.03.009.008.1080.mp4": "wSdoLSx9DYk",
142
121
  "ind.ind.03.009.009.1080.mp4": "z8BKUxMQ864",
143
122
  "ind.ind.03.009.010.1080.mp4": "QWs2aidBKc8",
144
- "jpn.jpn.03.009.001.1080.mp4": "U6oPu-u4Oss",
145
- "jpn.jpn.03.009.002.1080.mp4": "5UJB7wMST9U",
146
- "jpn.jpn.03.009.003.1080.mp4": "_AejBEpNve8",
123
+ "jpn.03.009.001.mp4": "U6oPu-u4Oss",
124
+ "jpn.03.009.002.mp4": "5UJB7wMST9U",
125
+ "jpn.03.009.003.mp4": "_AejBEpNve8",
147
126
  "jpn.jpn.03.009.004.1080.mp4": "kHLnAZoRa5Y",
148
127
  "jpn.jpn.03.009.005.1080.mp4": "RGabyK4e76o",
149
128
  "jpn.jpn.03.009.006.1080.mp4": "TnWZ5W-paDw",
@@ -151,9 +130,9 @@
151
130
  "jpn.jpn.03.009.008.1080.mp4": "zK3htPAA_48",
152
131
  "jpn.jpn.03.009.009.1080.mp4": "AhxuYdXyhSI",
153
132
  "jpn.jpn.03.009.010.1080.mp4": "TaIZ4DPOOGs",
154
- "khm.khm.03.009.001.1080.mp4": "MGwtvmJlty0",
155
- "khm.khm.03.009.002.1080.mp4": "XX2HZteTsdc",
156
- "khm.khm.03.009.003.1080.mp4": "AwiexkffmTM",
133
+ "khm.03.009.001.mp4": "MGwtvmJlty0",
134
+ "khm.03.009.002.mp4": "XX2HZteTsdc",
135
+ "khm.03.009.003.mp4": "AwiexkffmTM",
157
136
  "khm.khm.03.009.004.1080.mp4": "6Xj537vv6is",
158
137
  "khm.khm.03.009.005.1080.mp4": "MUkOlrW91iE",
159
138
  "khm.khm.03.009.006.1080.mp4": "DdQtSTOwGss",
@@ -161,9 +140,6 @@
161
140
  "khm.khm.03.009.008.1080.mp4": "2AscxJWsbgk",
162
141
  "khm.khm.03.009.009.1080.mp4": "Py7KldSBX_A",
163
142
  "khm.khm.03.009.010.1080.mp4": "eq5fiLpBXOk",
164
- "mfe.fra.03.009.001.1080.mp4": "ZoOXZPAfKNg",
165
- "mfe.fra.03.009.002.1080.mp4": "OYlbIDAA1DE",
166
- "mfe.fra.03.009.003.1080.mp4": "k-5LzA1a-5g",
167
143
  "mfe.fra.03.009.004.1080.mp4": "PyRsVuhyB4I",
168
144
  "mfe.fra.03.009.005.1080.mp4": "w3uvW1oIzq8",
169
145
  "mfe.fra.03.009.006.1080.mp4": "8j7ispGTF-o",
@@ -171,9 +147,9 @@
171
147
  "mfe.fra.03.009.008.1080.mp4": "DQo0kWNaMS4",
172
148
  "mfe.fra.03.009.009.1080.mp4": "UlHwZEG5e3s",
173
149
  "mfe.fra.03.009.010.1080.mp4": "cIrZhTwwPEc",
174
- "pes.pes.03.009.001.1080.mp4": "jsWMBE0f82c",
175
- "pes.pes.03.009.002.1080.mp4": "hGJ1Z24TWSw",
176
- "pes.pes.03.009.003.1080.mp4": "-6IVO99Ee5s",
150
+ "pes.03.009.001.mp4": "jsWMBE0f82c",
151
+ "pes.03.009.002.mp4": "hGJ1Z24TWSw",
152
+ "pes.03.009.003.mp4": "-6IVO99Ee5s",
177
153
  "pes.pes.03.009.004.1080.mp4": "kZL9BtbfdqM",
178
154
  "pes.pes.03.009.005.1080.mp4": "7r4xSBVAl_c",
179
155
  "pes.pes.03.009.006.1080.mp4": "xaQjrVgvtfA",
@@ -181,9 +157,9 @@
181
157
  "pes.pes.03.009.008.1080.mp4": "HAaVWKLyOc4",
182
158
  "pes.pes.03.009.009.1080.mp4": "sjW4tllecm8",
183
159
  "pes.pes.03.009.010.1080.mp4": "FMaV9PWs9oU",
184
- "por.por.03.009.001.1080.mp4": "OEovxN59MEM",
185
- "por.por.03.009.002.1080.mp4": "qNb_nBjdhbA",
186
- "por.por.03.009.003.1080.mp4": "ocsSY_KWAWk",
160
+ "por.03.009.001.mp4": "OEovxN59MEM",
161
+ "por.03.009.002.mp4": "qNb_nBjdhbA",
162
+ "por.03.009.003.mp4": "ocsSY_KWAWk",
187
163
  "por.por.03.009.004.1080.mp4": "LFmGVVsZl6A",
188
164
  "por.por.03.009.005.1080.mp4": "GDnpHPAxpOs",
189
165
  "por.por.03.009.006.1080.mp4": "A0eJnewEkw0",
@@ -191,9 +167,9 @@
191
167
  "por.por.03.009.008.1080.mp4": "OPDf7SkTxfo",
192
168
  "por.por.03.009.009.1080.mp4": "t9gNQX6nYSM",
193
169
  "por.por.03.009.010.1080.mp4": "fv83QTtZw8c",
194
- "ron.ron.03.009.001.1080.mp4": "S1LDE9Mr0I4",
195
- "ron.ron.03.009.002.1080.mp4": "M5Q_N8U6BAs",
196
- "ron.ron.03.009.003.1080.mp4": "7ZgTHaYnVeQ",
170
+ "ron.03.009.001.mp4": "S1LDE9Mr0I4",
171
+ "ron.03.009.002.mp4": "M5Q_N8U6BAs",
172
+ "ron.03.009.003.mp4": "7ZgTHaYnVeQ",
197
173
  "ron.ron.03.009.004.1080.mp4": "g6gIGLE9dEA",
198
174
  "ron.ron.03.009.005.1080.mp4": "zCgNgFiAcLI",
199
175
  "ron.ron.03.009.006.1080.mp4": "scUeJJdulXs",
@@ -201,9 +177,9 @@
201
177
  "ron.ron.03.009.008.1080.mp4": "Xvear1gXUKc",
202
178
  "ron.ron.03.009.009.1080.mp4": "wvlWELhyYtE",
203
179
  "ron.ron.03.009.010.1080.mp4": "-Nc1VJCuffU",
204
- "rus.rus.03.009.001.1080.mp4": "H9cHu7c0xkU",
205
- "rus.rus.03.009.002.1080.mp4": "VTH1NNET8w0",
206
- "rus.rus.03.009.003.1080.mp4": "WO6MlCZ7lt4",
180
+ "rus.03.009.001.mp4": "H9cHu7c0xkU",
181
+ "rus.03.009.002.mp4": "VTH1NNET8w0",
182
+ "rus.03.009.003.mp4": "WO6MlCZ7lt4",
207
183
  "rus.rus.03.009.004.1080.mp4": "PFN463wwzC0",
208
184
  "rus.rus.03.009.005.1080.mp4": "dd7wfeLMBsU",
209
185
  "rus.rus.03.009.006.1080.mp4": "vDvUbfWT34A",
@@ -211,9 +187,6 @@
211
187
  "rus.rus.03.009.008.1080.mp4": "owe2aR1kvzw",
212
188
  "rus.rus.03.009.009.1080.mp4": "gext84YEANs",
213
189
  "rus.rus.03.009.010.1080.mp4": "hP9IysgcDI4",
214
- "shf.shi.03.009.001.1080.mp4": "h48SaQTm2zQ",
215
- "shf.shi.03.009.002.1080.mp4": "qvtJYGNUCiQ",
216
- "shf.shi.03.009.003.1080.mp4": "VRVTlD3Lxnc",
217
190
  "shf.shi.03.009.004.1080.mp4": "tSXwf8FCYJw",
218
191
  "shf.shi.03.009.005.1080.mp4": "F70e8ct-l9Y",
219
192
  "shf.shi.03.009.006.1080.mp4": "jayFaqrGKuY",
@@ -221,9 +194,9 @@
221
194
  "shf.shi.03.009.008.1080.mp4": "kF--bNaq7lE",
222
195
  "shf.shi.03.009.009.1080.mp4": "om8NoFX5Sss",
223
196
  "shf.shi.03.009.010.1080.mp4": "vRUo_7bMNHo",
224
- "shi.shi.03.009.001.1080.mp4": "LG2fIuUnbVc",
225
- "shi.shi.03.009.002.1080.mp4": "6aotdbxjosE",
226
- "shi.shi.03.009.003.1080.mp4": "UtGVARNrLbM",
197
+ "shi.03.009.001.mp4": "LG2fIuUnbVc",
198
+ "shi.03.009.002.mp4": "6aotdbxjosE",
199
+ "shi.03.009.003.mp4": "UtGVARNrLbM",
227
200
  "shi.shi.03.009.004.1080.mp4": "0JEIVZPwzfw",
228
201
  "shi.shi.03.009.005.1080.mp4": "n1f4b-th6BM",
229
202
  "shi.shi.03.009.006.1080.mp4": "uv_7KWR_rUI",
@@ -231,9 +204,9 @@
231
204
  "shi.shi.03.009.008.1080.mp4": "Wa8-ud1eZ54",
232
205
  "shi.shi.03.009.009.1080.mp4": "VgMKkO7uUVE",
233
206
  "shi.shi.03.009.010.1080.mp4": "PVbE_Gh9ZSc",
234
- "spa.spa.03.009.001.1080.mp4": "3Rg3Z4--emw",
235
- "spa.spa.03.009.002.1080.mp4": "s5e9B8M-RzQ",
236
- "spa.spa.03.009.003.1080.mp4": "IARwP6quJBM",
207
+ "spa.03.009.001.mp4": "3Rg3Z4--emw",
208
+ "spa.03.009.002.mp4": "s5e9B8M-RzQ",
209
+ "spa.03.009.003.mp4": "IARwP6quJBM",
237
210
  "spa.spa.03.009.004.1080.mp4": "jAdXX9jqcbA",
238
211
  "spa.spa.03.009.005.1080.mp4": "WUrATEqlkR4",
239
212
  "spa.spa.03.009.006.1080.mp4": "APZAwzfRr1I",
@@ -241,9 +214,9 @@
241
214
  "spa.spa.03.009.008.1080.mp4": "ZXfUhoeFLcU",
242
215
  "spa.spa.03.009.009.1080.mp4": "MWxssi1eoqc",
243
216
  "spa.spa.03.009.010.1080.mp4": "ynLBCcvx6ko",
244
- "swe.swe.03.009.001.1080.mp4": "pin1kwuuQXg",
245
- "swe.swe.03.009.002.1080.mp4": "t7kom6vhyP0",
246
- "swe.swe.03.009.003.1080.mp4": "jV72mpv2Y48",
217
+ "swe.03.009.001.mp4": "pin1kwuuQXg",
218
+ "swe.03.009.002.mp4": "t7kom6vhyP0",
219
+ "swe.03.009.003.mp4": "jV72mpv2Y48",
247
220
  "swe.swe.03.009.004.1080.mp4": "XBao1xd5qDM",
248
221
  "swe.swe.03.009.005.1080.mp4": "zdZO5Lde0wA",
249
222
  "swe.swe.03.009.006.1080.mp4": "QzJshpukUwU",
@@ -251,9 +224,9 @@
251
224
  "swe.swe.03.009.008.1080.mp4": "0KhjaqdDwvQ",
252
225
  "swe.swe.03.009.009.1080.mp4": "B46fL-wvFYw",
253
226
  "swe.swe.03.009.010.1080.mp4": "SZb4VAAX_WY",
254
- "tha.tha.03.009.001.1080.mp4": "ImF-uV79Uaw",
255
- "tha.tha.03.009.002.1080.mp4": "4hCw8Fk8Wsc",
256
- "tha.tha.03.009.003.1080.mp4": "VhejC6MUBqo",
227
+ "tha.03.009.001.mp4": "ImF-uV79Uaw",
228
+ "tha.03.009.002.mp4": "4hCw8Fk8Wsc",
229
+ "tha.03.009.003.mp4": "VhejC6MUBqo",
257
230
  "tha.tha.03.009.004.1080.mp4": "JoqYLx2scjc",
258
231
  "tha.tha.03.009.005.1080.mp4": "BdP3SKhmYSw",
259
232
  "tha.tha.03.009.006.1080.mp4": "WmCudOrtTT8",
@@ -261,9 +234,9 @@
261
234
  "tha.tha.03.009.008.1080.mp4": "r20xXzmWXOk",
262
235
  "tha.tha.03.009.009.1080.mp4": "JkV85_HQURQ",
263
236
  "tha.tha.03.009.010.1080.mp4": "pOeUbqArjAM",
264
- "tur.tur.03.009.001.1080.mp4": "uZbm0PTY59I",
265
- "tur.tur.03.009.002.1080.mp4": "tPUP9SJ-QwI",
266
- "tur.tur.03.009.003.1080.mp4": "Q5cb6yaCUds",
237
+ "tur.03.009.001.mp4": "uZbm0PTY59I",
238
+ "tur.03.009.002.mp4": "tPUP9SJ-QwI",
239
+ "tur.03.009.003.mp4": "Q5cb6yaCUds",
267
240
  "tur.tur.03.009.004.1080.mp4": "iP9y5mBQGxs",
268
241
  "tur.tur.03.009.005.1080.mp4": "6f1rQFxdAKA",
269
242
  "tur.tur.03.009.006.1080.mp4": "lYN3Gas1bCc",
@@ -271,45 +244,12 @@
271
244
  "tur.tur.03.009.008.1080.mp4": "WI9kRE8aCOc",
272
245
  "tur.tur.03.009.009.1080.mp4": "an59LRhUgaE",
273
246
  "tur.tur.03.009.010.1080.mp4": "WN8pKrtyXGE",
274
- "tzm.ara.03.009.001.1080.mp4": "mgxHzCJ0iHQ",
275
- "tzm.ara.03.009.002.1080.mp4": "DLEeGAvEtec",
276
- "tzm.ara.03.009.003.1080.mp4": "n8SVUGnzdSo",
277
- "tzm.ara.03.009.004.1080.mp4": "8lCFrWH4AsQ",
278
- "tzm.ara.03.009.005.1080.mp4": "U-YFTHg0CY0",
279
- "tzm.ara.03.009.006.1080.mp4": "Os-IpNQ7MNM",
280
- "tzm.ara.03.009.007.1080.mp4": "_vf4W2rrETk",
281
- "tzm.ara.03.009.008.1080.mp4": "vMqkUTNjJ3s",
282
- "tzm.ara.03.009.009.1080.mp4": "D0P-j9DlEEw",
283
- "tzm.ara.03.009.010.1080.mp4": "WJ78izyn12w",
284
- "tzm.ary.03.009.001.1080.mp4": "SGW0l5WwWzI",
285
- "tzm.ary.03.009.002.1080.mp4": "AfzSpwDIqOM",
286
- "tzm.ary.03.009.003.1080.mp4": "PZV-0ADfEA4",
287
247
  "tzm.ary.03.009.004.1080.mp4": "E34gHf_qeSY",
288
248
  "tzm.ary.03.009.005.1080.mp4": "rMWFMzuFrLA",
289
249
  "tzm.ary.03.009.006.1080.mp4": "LURHJe-C-PY",
290
250
  "tzm.ary.03.009.007.1080.mp4": "cid-RqyfR0o",
291
251
  "tzm.ary.03.009.008.1080.mp4": "VKhlHTCsNoo",
292
252
  "tzm.ary.03.009.009.1080.mp4": "v0UKTVK3xIc",
293
- "tzm.ary.03.009.010.1080.mp4": "RdQn8LVJQ3A",
294
- "tzm.eng.03.009.001.1080.mp4": "c0b-SpssbF4",
295
- "tzm.eng.03.009.002.1080.mp4": "gAj65Zp-kmo",
296
- "tzm.eng.03.009.003.1080.mp4": "y4DRad8u8Ps",
297
- "tzm.eng.03.009.004.1080.mp4": "2bnrlBc9YPk",
298
- "tzm.eng.03.009.005.1080.mp4": "ey79535FkSo",
299
- "tzm.eng.03.009.006.1080.mp4": "s2bCJ9_nAIs",
300
- "tzm.eng.03.009.007.1080.mp4": "CdRSIGf6jJc",
301
- "tzm.eng.03.009.008.1080.mp4": "nqF_uwot-9Q",
302
- "tzm.eng.03.009.009.1080.mp4": "9S0H15BYITY",
303
- "tzm.eng.03.009.010.1080.mp4": "lhn0PvTX9nY",
304
- "tzm.fra.03.009.001.1080.mp4": "8ATpaR3LZEY",
305
- "tzm.fra.03.009.002.1080.mp4": "ZzPL4syuLyg",
306
- "tzm.fra.03.009.003.1080.mp4": "fXpKxptysG8",
307
- "tzm.fra.03.009.004.1080.mp4": "s8qJBlUZq1g",
308
- "tzm.fra.03.009.005.1080.mp4": "a45bnUcVPBE",
309
- "tzm.fra.03.009.006.1080.mp4": "X36T78A_Wz0",
310
- "tzm.fra.03.009.007.1080.mp4": "50A9xSZJLsI",
311
- "tzm.fra.03.009.008.1080.mp4": "HcA-dbBadoA",
312
- "tzm.fra.03.009.009.1080.mp4": "wXisUXfthnU",
313
- "tzm.fra.03.009.010.1080.mp4": "B3ndi20MbEU"
253
+ "tzm.ary.03.009.010.1080.mp4": "RdQn8LVJQ3A"
314
254
  }
315
255
  }
@@ -0,0 +1,104 @@
1
+ /** Concatenate audio files using ffmpeg's concat demuxer. */
2
+ export declare function concatAudio(files: string[], output: string): Promise<void>;
3
+ /** Generate a silence MP3 of the given duration in seconds. */
4
+ export declare function generateSilence(duration: number, output: string): Promise<void>;
5
+ /** Extract an audio segment from a file by start/end times (seconds). */
6
+ export declare function extractAudioSegment({ endTime, input, output, startTime, }: {
7
+ input: string;
8
+ startTime: number;
9
+ endTime: number;
10
+ output: string;
11
+ }): Promise<void>;
12
+ /** Extract the audio track from a video file and re-encode to MP3. */
13
+ export declare function extractVideoAudio(input: string, output: string): Promise<void>;
14
+ /**
15
+ * Normalize audio to EBU R128 standard using ffmpeg-normalize. Returns the path
16
+ * to the normalized file. Skips if already exists.
17
+ */
18
+ export declare function normalizeAudio(input: string): Promise<string>;
19
+ /**
20
+ * Source-of-truth for our standard H.264 / AAC video encode profile. Use these
21
+ * named values when calling APIs that take typed options (e.g. Remotion's
22
+ * `renderMedia`, which surfaces some flags as `codec` / `x264Preset` / `crf` /
23
+ * `pixelFormat` / `audioCodec` / `audioBitrate`). For direct ffmpeg shell-out,
24
+ * use the pre-flattened arg arrays below.
25
+ *
26
+ * The settings are tuned for concat-safe output:
27
+ *
28
+ * - `gop` of 30 puts a keyframe every 1s at 30fps, required for seekability and
29
+ * `-c:v copy` concat
30
+ * - `bFrames: 0` prevents non-monotonic DTS at concat seams
31
+ * - `videoTrackTimescale` of 90000 matches Remotion's default timebase
32
+ */
33
+ export declare const VIDEO_ENCODE_SETTINGS: {
34
+ readonly videoCodec: "libx264";
35
+ /**
36
+ * Value for Remotion's `codec` option (which uses short names, not ffmpeg
37
+ * codec ids).
38
+ */
39
+ readonly remotionCodec: "h264";
40
+ readonly crf: 23;
41
+ readonly x264Preset: "medium";
42
+ readonly gop: 30;
43
+ readonly bFrames: 0;
44
+ readonly pixelFormat: "yuv420p";
45
+ readonly videoTrackTimescale: 90000;
46
+ readonly audioCodec: "aac";
47
+ readonly audioSampleRate: 48000;
48
+ readonly audioBitrate: "128k";
49
+ };
50
+ /**
51
+ * Ffmpeg args for H.264 video encoding (concat-safe). Includes `-movflags
52
+ * +faststart` so the muxed MP4 supports progressive HTTP playback.
53
+ */
54
+ export declare const VIDEO_ENCODE_ARGS: string[];
55
+ /** Standard AAC audio encode args to pair with {@link VIDEO_ENCODE_ARGS}. */
56
+ export declare const VIDEO_AUDIO_ENCODE_ARGS: string[];
57
+ /**
58
+ * Args for use inside Remotion's `ffmpegOverride` — just the flags that
59
+ * `renderMedia`'s typed options don't surface natively. Currently only `-bf 0`
60
+ * (no B-frames), which prevents non-monotonic DTS at concat seams between
61
+ * Remotion-rendered clips and the B-frame-free training videos compressed by
62
+ * {@link compressVideo}. Pair with the typed options fed from
63
+ * {@link VIDEO_ENCODE_SETTINGS} for a render that matches our standard profile.
64
+ *
65
+ * Example:
66
+ *
67
+ * renderMedia({
68
+ * codec: VIDEO_ENCODE_SETTINGS.remotionCodec,
69
+ * x264Preset: VIDEO_ENCODE_SETTINGS.x264Preset,
70
+ * crf: VIDEO_ENCODE_SETTINGS.crf,
71
+ * pixelFormat: VIDEO_ENCODE_SETTINGS.pixelFormat,
72
+ * audioCodec: VIDEO_ENCODE_SETTINGS.audioCodec,
73
+ * audioBitrate: VIDEO_ENCODE_SETTINGS.audioBitrate,
74
+ * ffmpegOverride: ({ args }) => {
75
+ * const out = args[args.length - 1]
76
+ * const yflag = args[args.length - 2]
77
+ * return [...args.slice(0, -2), ...VIDEO_REMOTION_OVERRIDE_ARGS, yflag, out]
78
+ * },
79
+ * ...
80
+ * })
81
+ */
82
+ export declare const VIDEO_REMOTION_OVERRIDE_ARGS: string[];
83
+ /**
84
+ * Compress a video using the standard H.264 settings. If `audio` is provided,
85
+ * its track replaces the source video's audio.
86
+ */
87
+ export declare function compressVideo({ input, output, audio, }: {
88
+ input: string;
89
+ output: string;
90
+ audio?: string;
91
+ }): Promise<void>;
92
+ /**
93
+ * Mix narration audio with background music at a fixed volume ratio. Music is
94
+ * trimmed to the shorter of the two inputs; if `targetDuration` is provided,
95
+ * the output is padded with silence to match exactly.
96
+ */
97
+ export declare function mixAudioWithMusic({ music, narration, output, targetDuration, }: {
98
+ narration: string;
99
+ music: string;
100
+ output: string;
101
+ targetDuration: number;
102
+ }): Promise<void>;
103
+ /** Get the duration of an audio file in seconds using ffprobe. */
104
+ export declare function getDurationFromFile(file: string): Promise<number>;