DeviceProfile-Firefox.json 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441
  1. {
  2. "EnableAlbumArtInDidl": false,
  3. "EnableSingleAlbumArtLimit": false,
  4. "EnableSingleSubtitleLimit": false,
  5. "SupportedMediaTypes": "Audio,Photo,Video",
  6. "MaxAlbumArtWidth": 0,
  7. "MaxAlbumArtHeight": 0,
  8. "MaxStreamingBitrate": 120000000,
  9. "MaxStaticBitrate": 100000000,
  10. "MusicStreamingTranscodingBitrate": 384000,
  11. "TimelineOffsetSeconds": 0,
  12. "RequiresPlainVideoItems": false,
  13. "RequiresPlainFolders": false,
  14. "EnableMSMediaReceiverRegistrar": false,
  15. "IgnoreTranscodeByteRangeRequests": false,
  16. "DirectPlayProfiles": [
  17. {
  18. "Container": "webm",
  19. "AudioCodec": "vorbis,opus",
  20. "VideoCodec": "vp8,vp9,av1",
  21. "Type": "Video",
  22. "$type": "DirectPlayProfile"
  23. },
  24. {
  25. "Container": "mp4,m4v",
  26. "AudioCodec": "aac,mp3,opus,flac,alac,vorbis",
  27. "VideoCodec": "h264,vp8,vp9,av1",
  28. "Type": "Video",
  29. "$type": "DirectPlayProfile"
  30. },
  31. {
  32. "Container": "opus",
  33. "Type": "Audio",
  34. "$type": "DirectPlayProfile"
  35. },
  36. {
  37. "Container": "webm",
  38. "AudioCodec": "opus",
  39. "Type": "Audio",
  40. "$type": "DirectPlayProfile"
  41. },
  42. {
  43. "Container": "mp3",
  44. "Type": "Audio",
  45. "$type": "DirectPlayProfile"
  46. },
  47. {
  48. "Container": "aac",
  49. "Type": "Audio",
  50. "$type": "DirectPlayProfile"
  51. },
  52. {
  53. "Container": "m4a",
  54. "AudioCodec": "aac",
  55. "Type": "Audio",
  56. "$type": "DirectPlayProfile"
  57. },
  58. {
  59. "Container": "m4b",
  60. "AudioCodec": "aac",
  61. "Type": "Audio",
  62. "$type": "DirectPlayProfile"
  63. },
  64. {
  65. "Container": "flac",
  66. "Type": "Audio",
  67. "$type": "DirectPlayProfile"
  68. },
  69. {
  70. "Container": "alac",
  71. "Type": "Audio",
  72. "$type": "DirectPlayProfile"
  73. },
  74. {
  75. "Container": "m4a",
  76. "AudioCodec": "alac",
  77. "Type": "Audio",
  78. "$type": "DirectPlayProfile"
  79. },
  80. {
  81. "Container": "m4b",
  82. "AudioCodec": "alac",
  83. "Type": "Audio",
  84. "$type": "DirectPlayProfile"
  85. },
  86. {
  87. "Container": "webma",
  88. "Type": "Audio",
  89. "$type": "DirectPlayProfile"
  90. },
  91. {
  92. "Container": "webm",
  93. "AudioCodec": "webma",
  94. "Type": "Audio",
  95. "$type": "DirectPlayProfile"
  96. },
  97. {
  98. "Container": "wav",
  99. "Type": "Audio",
  100. "$type": "DirectPlayProfile"
  101. },
  102. {
  103. "Container": "ogg",
  104. "Type": "Audio",
  105. "$type": "DirectPlayProfile"
  106. }
  107. ],
  108. "TranscodingProfiles": [
  109. {
  110. "Container": "ts",
  111. "Type": "Audio",
  112. "AudioCodec": "aac",
  113. "Protocol": "hls",
  114. "EstimateContentLength": false,
  115. "EnableMpegtsM2TsMode": false,
  116. "TranscodeSeekInfo": "Auto",
  117. "CopyTimestamps": false,
  118. "Context": "Streaming",
  119. "EnableSubtitlesInManifest": false,
  120. "MaxAudioChannels": "6",
  121. "MinSegments": 2,
  122. "SegmentLength": 0,
  123. "BreakOnNonKeyFrames": true,
  124. "$type": "TranscodingProfile"
  125. },
  126. {
  127. "Container": "aac",
  128. "Type": "Audio",
  129. "AudioCodec": "aac",
  130. "Protocol": "http",
  131. "EstimateContentLength": false,
  132. "EnableMpegtsM2TsMode": false,
  133. "TranscodeSeekInfo": "Auto",
  134. "CopyTimestamps": false,
  135. "Context": "Streaming",
  136. "EnableSubtitlesInManifest": false,
  137. "MaxAudioChannels": "6",
  138. "MinSegments": 0,
  139. "SegmentLength": 0,
  140. "BreakOnNonKeyFrames": false,
  141. "$type": "TranscodingProfile"
  142. },
  143. {
  144. "Container": "mp3",
  145. "Type": "Audio",
  146. "AudioCodec": "mp3",
  147. "Protocol": "http",
  148. "EstimateContentLength": false,
  149. "EnableMpegtsM2TsMode": false,
  150. "TranscodeSeekInfo": "Auto",
  151. "CopyTimestamps": false,
  152. "Context": "Streaming",
  153. "EnableSubtitlesInManifest": false,
  154. "MaxAudioChannels": "6",
  155. "MinSegments": 0,
  156. "SegmentLength": 0,
  157. "BreakOnNonKeyFrames": false,
  158. "$type": "TranscodingProfile"
  159. },
  160. {
  161. "Container": "opus",
  162. "Type": "Audio",
  163. "AudioCodec": "opus",
  164. "Protocol": "http",
  165. "EstimateContentLength": false,
  166. "EnableMpegtsM2TsMode": false,
  167. "TranscodeSeekInfo": "Auto",
  168. "CopyTimestamps": false,
  169. "Context": "Streaming",
  170. "EnableSubtitlesInManifest": false,
  171. "MaxAudioChannels": "6",
  172. "MinSegments": 0,
  173. "SegmentLength": 0,
  174. "BreakOnNonKeyFrames": false,
  175. "$type": "TranscodingProfile"
  176. },
  177. {
  178. "Container": "wav",
  179. "Type": "Audio",
  180. "AudioCodec": "wav",
  181. "Protocol": "http",
  182. "EstimateContentLength": false,
  183. "EnableMpegtsM2TsMode": false,
  184. "TranscodeSeekInfo": "Auto",
  185. "CopyTimestamps": false,
  186. "Context": "Streaming",
  187. "EnableSubtitlesInManifest": false,
  188. "MaxAudioChannels": "6",
  189. "MinSegments": 0,
  190. "SegmentLength": 0,
  191. "BreakOnNonKeyFrames": false,
  192. "$type": "TranscodingProfile"
  193. },
  194. {
  195. "Container": "opus",
  196. "Type": "Audio",
  197. "AudioCodec": "opus",
  198. "Protocol": "http",
  199. "EstimateContentLength": false,
  200. "EnableMpegtsM2TsMode": false,
  201. "TranscodeSeekInfo": "Auto",
  202. "CopyTimestamps": false,
  203. "Context": "Static",
  204. "EnableSubtitlesInManifest": false,
  205. "MaxAudioChannels": "6",
  206. "MinSegments": 0,
  207. "SegmentLength": 0,
  208. "BreakOnNonKeyFrames": false,
  209. "$type": "TranscodingProfile"
  210. },
  211. {
  212. "Container": "mp3",
  213. "Type": "Audio",
  214. "AudioCodec": "mp3",
  215. "Protocol": "http",
  216. "EstimateContentLength": false,
  217. "EnableMpegtsM2TsMode": false,
  218. "TranscodeSeekInfo": "Auto",
  219. "CopyTimestamps": false,
  220. "Context": "Static",
  221. "EnableSubtitlesInManifest": false,
  222. "MaxAudioChannels": "6",
  223. "MinSegments": 0,
  224. "SegmentLength": 0,
  225. "BreakOnNonKeyFrames": false,
  226. "$type": "TranscodingProfile"
  227. },
  228. {
  229. "Container": "aac",
  230. "Type": "Audio",
  231. "AudioCodec": "aac",
  232. "Protocol": "http",
  233. "EstimateContentLength": false,
  234. "EnableMpegtsM2TsMode": false,
  235. "TranscodeSeekInfo": "Auto",
  236. "CopyTimestamps": false,
  237. "Context": "Static",
  238. "EnableSubtitlesInManifest": false,
  239. "MaxAudioChannels": "6",
  240. "MinSegments": 0,
  241. "SegmentLength": 0,
  242. "BreakOnNonKeyFrames": false,
  243. "$type": "TranscodingProfile"
  244. },
  245. {
  246. "Container": "wav",
  247. "Type": "Audio",
  248. "AudioCodec": "wav",
  249. "Protocol": "http",
  250. "EstimateContentLength": false,
  251. "EnableMpegtsM2TsMode": false,
  252. "TranscodeSeekInfo": "Auto",
  253. "CopyTimestamps": false,
  254. "Context": "Static",
  255. "EnableSubtitlesInManifest": false,
  256. "MaxAudioChannels": "6",
  257. "MinSegments": 0,
  258. "SegmentLength": 0,
  259. "BreakOnNonKeyFrames": false,
  260. "$type": "TranscodingProfile"
  261. },
  262. {
  263. "Container": "ts",
  264. "Type": "Video",
  265. "VideoCodec": "h264",
  266. "AudioCodec": "aac,mp3",
  267. "Protocol": "hls",
  268. "EstimateContentLength": false,
  269. "EnableMpegtsM2TsMode": false,
  270. "TranscodeSeekInfo": "Auto",
  271. "CopyTimestamps": false,
  272. "Context": "Streaming",
  273. "EnableSubtitlesInManifest": false,
  274. "MaxAudioChannels": "6",
  275. "MinSegments": 2,
  276. "SegmentLength": 0,
  277. "BreakOnNonKeyFrames": true,
  278. "$type": "TranscodingProfile"
  279. },
  280. {
  281. "Container": "webm",
  282. "Type": "Video",
  283. "VideoCodec": "vp8,vp9,av1,vpx",
  284. "AudioCodec": "vorbis,opus",
  285. "Protocol": "http",
  286. "EstimateContentLength": false,
  287. "EnableMpegtsM2TsMode": false,
  288. "TranscodeSeekInfo": "Auto",
  289. "CopyTimestamps": false,
  290. "Context": "Streaming",
  291. "EnableSubtitlesInManifest": false,
  292. "MaxAudioChannels": "6",
  293. "MinSegments": 0,
  294. "SegmentLength": 0,
  295. "BreakOnNonKeyFrames": false,
  296. "$type": "TranscodingProfile"
  297. },
  298. {
  299. "Container": "mp4",
  300. "Type": "Video",
  301. "VideoCodec": "h264",
  302. "AudioCodec": "aac,mp3,opus,flac,alac,vorbis",
  303. "Protocol": "http",
  304. "EstimateContentLength": false,
  305. "EnableMpegtsM2TsMode": false,
  306. "TranscodeSeekInfo": "Auto",
  307. "CopyTimestamps": false,
  308. "Context": "Static",
  309. "EnableSubtitlesInManifest": false,
  310. "MinSegments": 0,
  311. "SegmentLength": 0,
  312. "BreakOnNonKeyFrames": false,
  313. "$type": "TranscodingProfile"
  314. }
  315. ],
  316. "CodecProfiles": [
  317. {
  318. "Type": "VideoAudio",
  319. "Conditions": [
  320. {
  321. "Condition": "Equals",
  322. "Property": "IsSecondaryAudio",
  323. "Value": "false",
  324. "IsRequired": false,
  325. "$type": "ProfileCondition"
  326. }
  327. ],
  328. "Codec": "aac",
  329. "$type": "CodecProfile"
  330. },
  331. {
  332. "Type": "VideoAudio",
  333. "Conditions": [
  334. {
  335. "Condition": "Equals",
  336. "Property": "IsSecondaryAudio",
  337. "Value": "false",
  338. "IsRequired": false,
  339. "$type": "ProfileCondition"
  340. }
  341. ],
  342. "$type": "CodecProfile"
  343. },
  344. {
  345. "Type": "Video",
  346. "Conditions": [
  347. {
  348. "Condition": "NotEquals",
  349. "Property": "IsAnamorphic",
  350. "Value": "true",
  351. "IsRequired": false,
  352. "$type": "ProfileCondition"
  353. },
  354. {
  355. "Condition": "EqualsAny",
  356. "Property": "VideoProfile",
  357. "Value": "high|main|baseline|constrained baseline",
  358. "IsRequired": false,
  359. "$type": "ProfileCondition"
  360. },
  361. {
  362. "Condition": "LessThanEqual",
  363. "Property": "VideoLevel",
  364. "Value": "52",
  365. "IsRequired": false,
  366. "$type": "ProfileCondition"
  367. },
  368. {
  369. "Condition": "NotEquals",
  370. "Property": "IsInterlaced",
  371. "Value": "true",
  372. "IsRequired": false,
  373. "$type": "ProfileCondition"
  374. }
  375. ],
  376. "Codec": "h264",
  377. "$type": "CodecProfile"
  378. },
  379. {
  380. "Type": "Video",
  381. "Conditions": [
  382. {
  383. "Condition": "NotEquals",
  384. "Property": "IsAnamorphic",
  385. "Value": "true",
  386. "IsRequired": false,
  387. "$type": "ProfileCondition"
  388. },
  389. {
  390. "Condition": "EqualsAny",
  391. "Property": "VideoProfile",
  392. "Value": "main",
  393. "IsRequired": false,
  394. "$type": "ProfileCondition"
  395. },
  396. {
  397. "Condition": "LessThanEqual",
  398. "Property": "VideoLevel",
  399. "Value": "120",
  400. "IsRequired": false,
  401. "$type": "ProfileCondition"
  402. },
  403. {
  404. "Condition": "NotEquals",
  405. "Property": "IsInterlaced",
  406. "Value": "true",
  407. "IsRequired": false,
  408. "$type": "ProfileCondition"
  409. }
  410. ],
  411. "Codec": "hevc",
  412. "$type": "CodecProfile"
  413. }
  414. ],
  415. "ResponseProfiles": [
  416. {
  417. "Container": "m4v",
  418. "Type": "Video",
  419. "MimeType": "video/mp4",
  420. "$type": "ResponseProfile"
  421. }
  422. ],
  423. "SubtitleProfiles": [
  424. {
  425. "Format": "vtt",
  426. "Method": "External",
  427. "$type": "SubtitleProfile"
  428. },
  429. {
  430. "Format": "ass",
  431. "Method": "External",
  432. "$type": "SubtitleProfile"
  433. },
  434. {
  435. "Format": "ssa",
  436. "Method": "External",
  437. "$type": "SubtitleProfile"
  438. }
  439. ],
  440. "$type": "DeviceProfile"
  441. }