formats.js 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524
  1. /**
  2. * http://en.wikipedia.org/wiki/YouTube#Quality_and_formats
  3. */
  4. module.exports = {
  5. 5: {
  6. mimeType: 'video/flv; codecs="Sorenson H.283, mp3"',
  7. qualityLabel: '240p',
  8. bitrate: 250000,
  9. audioBitrate: 64,
  10. },
  11. 6: {
  12. mimeType: 'video/flv; codecs="Sorenson H.263, mp3"',
  13. qualityLabel: '270p',
  14. bitrate: 800000,
  15. audioBitrate: 64,
  16. },
  17. 13: {
  18. mimeType: 'video/3gp; codecs="MPEG-4 Visual, aac"',
  19. qualityLabel: null,
  20. bitrate: 500000,
  21. audioBitrate: null,
  22. },
  23. 17: {
  24. mimeType: 'video/3gp; codecs="MPEG-4 Visual, aac"',
  25. qualityLabel: '144p',
  26. bitrate: 50000,
  27. audioBitrate: 24,
  28. },
  29. 18: {
  30. mimeType: 'video/mp4; codecs="H.264, aac"',
  31. qualityLabel: '360p',
  32. bitrate: 500000,
  33. audioBitrate: 96,
  34. },
  35. 22: {
  36. mimeType: 'video/mp4; codecs="H.264, aac"',
  37. qualityLabel: '720p',
  38. bitrate: 2000000,
  39. audioBitrate: 192,
  40. },
  41. 34: {
  42. mimeType: 'video/flv; codecs="H.264, aac"',
  43. qualityLabel: '360p',
  44. bitrate: 500000,
  45. audioBitrate: 128,
  46. },
  47. 35: {
  48. mimeType: 'video/flv; codecs="H.264, aac"',
  49. qualityLabel: '480p',
  50. bitrate: 800000,
  51. audioBitrate: 128,
  52. },
  53. 36: {
  54. mimeType: 'video/3gp; codecs="MPEG-4 Visual, aac"',
  55. qualityLabel: '240p',
  56. bitrate: 175000,
  57. audioBitrate: 32,
  58. },
  59. 37: {
  60. mimeType: 'video/mp4; codecs="H.264, aac"',
  61. qualityLabel: '1080p',
  62. bitrate: 3000000,
  63. audioBitrate: 192,
  64. },
  65. 38: {
  66. mimeType: 'video/mp4; codecs="H.264, aac"',
  67. qualityLabel: '3072p',
  68. bitrate: 3500000,
  69. audioBitrate: 192,
  70. },
  71. 43: {
  72. mimeType: 'video/webm; codecs="VP8, vorbis"',
  73. qualityLabel: '360p',
  74. bitrate: 500000,
  75. audioBitrate: 128,
  76. },
  77. 44: {
  78. mimeType: 'video/webm; codecs="VP8, vorbis"',
  79. qualityLabel: '480p',
  80. bitrate: 1000000,
  81. audioBitrate: 128,
  82. },
  83. 45: {
  84. mimeType: 'video/webm; codecs="VP8, vorbis"',
  85. qualityLabel: '720p',
  86. bitrate: 2000000,
  87. audioBitrate: 192,
  88. },
  89. 46: {
  90. mimeType: 'audio/webm; codecs="vp8, vorbis"',
  91. qualityLabel: '1080p',
  92. bitrate: null,
  93. audioBitrate: 192,
  94. },
  95. 82: {
  96. mimeType: 'video/mp4; codecs="H.264, aac"',
  97. qualityLabel: '360p',
  98. bitrate: 500000,
  99. audioBitrate: 96,
  100. },
  101. 83: {
  102. mimeType: 'video/mp4; codecs="H.264, aac"',
  103. qualityLabel: '240p',
  104. bitrate: 500000,
  105. audioBitrate: 96,
  106. },
  107. 84: {
  108. mimeType: 'video/mp4; codecs="H.264, aac"',
  109. qualityLabel: '720p',
  110. bitrate: 2000000,
  111. audioBitrate: 192,
  112. },
  113. 85: {
  114. mimeType: 'video/mp4; codecs="H.264, aac"',
  115. qualityLabel: '1080p',
  116. bitrate: 3000000,
  117. audioBitrate: 192,
  118. },
  119. 91: {
  120. mimeType: 'video/ts; codecs="H.264, aac"',
  121. qualityLabel: '144p',
  122. bitrate: 100000,
  123. audioBitrate: 48,
  124. },
  125. 92: {
  126. mimeType: 'video/ts; codecs="H.264, aac"',
  127. qualityLabel: '240p',
  128. bitrate: 150000,
  129. audioBitrate: 48,
  130. },
  131. 93: {
  132. mimeType: 'video/ts; codecs="H.264, aac"',
  133. qualityLabel: '360p',
  134. bitrate: 500000,
  135. audioBitrate: 128,
  136. },
  137. 94: {
  138. mimeType: 'video/ts; codecs="H.264, aac"',
  139. qualityLabel: '480p',
  140. bitrate: 800000,
  141. audioBitrate: 128,
  142. },
  143. 95: {
  144. mimeType: 'video/ts; codecs="H.264, aac"',
  145. qualityLabel: '720p',
  146. bitrate: 1500000,
  147. audioBitrate: 256,
  148. },
  149. 96: {
  150. mimeType: 'video/ts; codecs="H.264, aac"',
  151. qualityLabel: '1080p',
  152. bitrate: 2500000,
  153. audioBitrate: 256,
  154. },
  155. 100: {
  156. mimeType: 'audio/webm; codecs="VP8, vorbis"',
  157. qualityLabel: '360p',
  158. bitrate: null,
  159. audioBitrate: 128,
  160. },
  161. 101: {
  162. mimeType: 'audio/webm; codecs="VP8, vorbis"',
  163. qualityLabel: '360p',
  164. bitrate: null,
  165. audioBitrate: 192,
  166. },
  167. 102: {
  168. mimeType: 'audio/webm; codecs="VP8, vorbis"',
  169. qualityLabel: '720p',
  170. bitrate: null,
  171. audioBitrate: 192,
  172. },
  173. 120: {
  174. mimeType: 'video/flv; codecs="H.264, aac"',
  175. qualityLabel: '720p',
  176. bitrate: 2000000,
  177. audioBitrate: 128,
  178. },
  179. 127: {
  180. mimeType: 'audio/ts; codecs="aac"',
  181. qualityLabel: null,
  182. bitrate: null,
  183. audioBitrate: 96,
  184. },
  185. 128: {
  186. mimeType: 'audio/ts; codecs="aac"',
  187. qualityLabel: null,
  188. bitrate: null,
  189. audioBitrate: 96,
  190. },
  191. 132: {
  192. mimeType: 'video/ts; codecs="H.264, aac"',
  193. qualityLabel: '240p',
  194. bitrate: 150000,
  195. audioBitrate: 48,
  196. },
  197. 133: {
  198. mimeType: 'video/mp4; codecs="H.264"',
  199. qualityLabel: '240p',
  200. bitrate: 200000,
  201. audioBitrate: null,
  202. },
  203. 134: {
  204. mimeType: 'video/mp4; codecs="H.264"',
  205. qualityLabel: '360p',
  206. bitrate: 300000,
  207. audioBitrate: null,
  208. },
  209. 135: {
  210. mimeType: 'video/mp4; codecs="H.264"',
  211. qualityLabel: '480p',
  212. bitrate: 500000,
  213. audioBitrate: null,
  214. },
  215. 136: {
  216. mimeType: 'video/mp4; codecs="H.264"',
  217. qualityLabel: '720p',
  218. bitrate: 1000000,
  219. audioBitrate: null,
  220. },
  221. 137: {
  222. mimeType: 'video/mp4; codecs="H.264"',
  223. qualityLabel: '1080p',
  224. bitrate: 2500000,
  225. audioBitrate: null,
  226. },
  227. 138: {
  228. mimeType: 'video/mp4; codecs="H.264"',
  229. qualityLabel: '4320p',
  230. bitrate: 13500000,
  231. audioBitrate: null,
  232. },
  233. 139: {
  234. mimeType: 'audio/mp4; codecs="aac"',
  235. qualityLabel: null,
  236. bitrate: null,
  237. audioBitrate: 48,
  238. },
  239. 140: {
  240. mimeType: 'audio/m4a; codecs="aac"',
  241. qualityLabel: null,
  242. bitrate: null,
  243. audioBitrate: 128,
  244. },
  245. 141: {
  246. mimeType: 'audio/mp4; codecs="aac"',
  247. qualityLabel: null,
  248. bitrate: null,
  249. audioBitrate: 256,
  250. },
  251. 151: {
  252. mimeType: 'video/ts; codecs="H.264, aac"',
  253. qualityLabel: '720p',
  254. bitrate: 50000,
  255. audioBitrate: 24,
  256. },
  257. 160: {
  258. mimeType: 'video/mp4; codecs="H.264"',
  259. qualityLabel: '144p',
  260. bitrate: 100000,
  261. audioBitrate: null,
  262. },
  263. 171: {
  264. mimeType: 'audio/webm; codecs="vorbis"',
  265. qualityLabel: null,
  266. bitrate: null,
  267. audioBitrate: 128,
  268. },
  269. 172: {
  270. mimeType: 'audio/webm; codecs="vorbis"',
  271. qualityLabel: null,
  272. bitrate: null,
  273. audioBitrate: 192,
  274. },
  275. 242: {
  276. mimeType: 'video/webm; codecs="VP9"',
  277. qualityLabel: '240p',
  278. bitrate: 100000,
  279. audioBitrate: null,
  280. },
  281. 243: {
  282. mimeType: 'video/webm; codecs="VP9"',
  283. qualityLabel: '360p',
  284. bitrate: 250000,
  285. audioBitrate: null,
  286. },
  287. 244: {
  288. mimeType: 'video/webm; codecs="VP9"',
  289. qualityLabel: '480p',
  290. bitrate: 500000,
  291. audioBitrate: null,
  292. },
  293. 247: {
  294. mimeType: 'video/webm; codecs="VP9"',
  295. qualityLabel: '720p',
  296. bitrate: 700000,
  297. audioBitrate: null,
  298. },
  299. 248: {
  300. mimeType: 'video/webm; codecs="VP9"',
  301. qualityLabel: '1080p',
  302. bitrate: 1500000,
  303. audioBitrate: null,
  304. },
  305. 249: {
  306. mimeType: 'audio/webm; codecs="opus"',
  307. qualityLabel: null,
  308. bitrate: null,
  309. audioBitrate: 48,
  310. },
  311. 250: {
  312. mimeType: 'audio/webm; codecs="opus"',
  313. qualityLabel: null,
  314. bitrate: null,
  315. audioBitrate: 64,
  316. },
  317. 251: {
  318. mimeType: 'audio/webm; codecs="opus"',
  319. qualityLabel: null,
  320. bitrate: null,
  321. audioBitrate: 160,
  322. },
  323. 264: {
  324. mimeType: 'video/mp4; codecs="H.264"',
  325. qualityLabel: '1440p',
  326. bitrate: 4000000,
  327. audioBitrate: null,
  328. },
  329. 266: {
  330. mimeType: 'video/mp4; codecs="H.264"',
  331. qualityLabel: '2160p',
  332. bitrate: 12500000,
  333. audioBitrate: null,
  334. },
  335. 271: {
  336. mimeType: 'video/webm; codecs="VP9"',
  337. qualityLabel: '1440p',
  338. bitrate: 9000000,
  339. audioBitrate: null,
  340. },
  341. 272: {
  342. mimeType: 'video/webm; codecs="VP9"',
  343. qualityLabel: '4320p',
  344. bitrate: 20000000,
  345. audioBitrate: null,
  346. },
  347. 278: {
  348. mimeType: 'video/webm; codecs="VP9"',
  349. qualityLabel: '144p 30fps',
  350. bitrate: 80000,
  351. audioBitrate: null,
  352. },
  353. 298: {
  354. mimeType: 'video/mp4; codecs="H.264"',
  355. qualityLabel: '720p',
  356. bitrate: 3000000,
  357. audioBitrate: null,
  358. },
  359. 299: {
  360. mimeType: 'video/mp4; codecs="H.264"',
  361. qualityLabel: '1080p',
  362. bitrate: 5500000,
  363. audioBitrate: null,
  364. },
  365. 300: {
  366. mimeType: 'video/ts; codecs="H.264, aac"',
  367. qualityLabel: '720p',
  368. bitrate: 1318000,
  369. audioBitrate: 48,
  370. },
  371. 302: {
  372. mimeType: 'video/webm; codecs="VP9"',
  373. qualityLabel: '720p HFR',
  374. bitrate: 2500000,
  375. audioBitrate: null,
  376. },
  377. 303: {
  378. mimeType: 'video/webm; codecs="VP9"',
  379. qualityLabel: '1080p HFR',
  380. bitrate: 5000000,
  381. audioBitrate: null,
  382. },
  383. 308: {
  384. mimeType: 'video/webm; codecs="VP9"',
  385. qualityLabel: '1440p HFR',
  386. bitrate: 10000000,
  387. audioBitrate: null,
  388. },
  389. 313: {
  390. mimeType: 'video/webm; codecs="VP9"',
  391. qualityLabel: '2160p',
  392. bitrate: 13000000,
  393. audioBitrate: null,
  394. },
  395. 315: {
  396. mimeType: 'video/webm; codecs="VP9"',
  397. qualityLabel: '2160p HFR',
  398. bitrate: 20000000,
  399. audioBitrate: null,
  400. },
  401. 330: {
  402. mimeType: 'video/webm; codecs="VP9"',
  403. qualityLabel: '144p HDR, HFR',
  404. bitrate: 80000,
  405. audioBitrate: null,
  406. },
  407. 331: {
  408. mimeType: 'video/webm; codecs="VP9"',
  409. qualityLabel: '240p HDR, HFR',
  410. bitrate: 100000,
  411. audioBitrate: null,
  412. },
  413. 332: {
  414. mimeType: 'video/webm; codecs="VP9"',
  415. qualityLabel: '360p HDR, HFR',
  416. bitrate: 250000,
  417. audioBitrate: null,
  418. },
  419. 333: {
  420. mimeType: 'video/webm; codecs="VP9"',
  421. qualityLabel: '240p HDR, HFR',
  422. bitrate: 500000,
  423. audioBitrate: null,
  424. },
  425. 334: {
  426. mimeType: 'video/webm; codecs="VP9"',
  427. qualityLabel: '720p HDR, HFR',
  428. bitrate: 1000000,
  429. audioBitrate: null,
  430. },
  431. 335: {
  432. mimeType: 'video/webm; codecs="VP9"',
  433. qualityLabel: '1080p HDR, HFR',
  434. bitrate: 1500000,
  435. audioBitrate: null,
  436. },
  437. 336: {
  438. mimeType: 'video/webm; codecs="VP9"',
  439. qualityLabel: '1440p HDR, HFR',
  440. bitrate: 5000000,
  441. audioBitrate: null,
  442. },
  443. 337: {
  444. mimeType: 'video/webm; codecs="VP9"',
  445. qualityLabel: '2160p HDR, HFR',
  446. bitrate: 12000000,
  447. audioBitrate: null,
  448. },
  449. };