DeviceProfile-Chrome.json 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361
  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. "Type": "Video",
  20. "VideoCodec": "vp8,vp9,av1",
  21. "AudioCodec": "vorbis,opus"
  22. },
  23. {
  24. "Container": "mp4,m4v",
  25. "Type": "Video",
  26. "VideoCodec": "h264,hevc,vp9,av1",
  27. "AudioCodec": "aac,mp3,mp2,opus,flac,vorbis"
  28. },
  29. {
  30. "Container": "mov",
  31. "Type": "Video",
  32. "VideoCodec": "h264",
  33. "AudioCodec": "aac,mp3,mp2,opus,flac,vorbis"
  34. },
  35. {
  36. "Container": "opus",
  37. "Type": "Audio"
  38. },
  39. {
  40. "Container": "webm",
  41. "AudioCodec": "opus",
  42. "Type": "Audio"
  43. },
  44. {
  45. "Container": "ts",
  46. "AudioCodec": "mp3",
  47. "Type": "Audio"
  48. },
  49. {
  50. "Container": "mp3",
  51. "Type": "Audio"
  52. },
  53. {
  54. "Container": "aac",
  55. "Type": "Audio"
  56. },
  57. {
  58. "Container": "m4a",
  59. "AudioCodec": "aac",
  60. "Type": "Audio"
  61. },
  62. {
  63. "Container": "m4b",
  64. "AudioCodec": "aac",
  65. "Type": "Audio"
  66. },
  67. {
  68. "Container": "flac",
  69. "Type": "Audio"
  70. },
  71. {
  72. "Container": "webma",
  73. "Type": "Audio"
  74. },
  75. {
  76. "Container": "webm",
  77. "AudioCodec": "webma",
  78. "Type": "Audio"
  79. },
  80. {
  81. "Container": "wav",
  82. "Type": "Audio"
  83. },
  84. {
  85. "Container": "ogg",
  86. "Type": "Audio"
  87. },
  88. {
  89. "Container": "hls",
  90. "Type": "Video",
  91. "VideoCodec": "av1,hevc,h264,vp9",
  92. "AudioCodec": "aac,mp2,opus,flac"
  93. },
  94. {
  95. "Container": "hls",
  96. "Type": "Video",
  97. "VideoCodec": "h264",
  98. "AudioCodec": "aac,mp3,mp2"
  99. }
  100. ],
  101. "TranscodingProfiles": [
  102. {
  103. "Container": "mp4",
  104. "Type": "Audio",
  105. "AudioCodec": "aac",
  106. "Context": "Streaming",
  107. "Protocol": "hls",
  108. "MaxAudioChannels": "2",
  109. "MinSegments": "2",
  110. "BreakOnNonKeyFrames": true,
  111. "EnableAudioVbrEncoding": true
  112. },
  113. {
  114. "Container": "aac",
  115. "Type": "Audio",
  116. "AudioCodec": "aac",
  117. "Context": "Streaming",
  118. "Protocol": "http",
  119. "MaxAudioChannels": "2"
  120. },
  121. {
  122. "Container": "mp3",
  123. "Type": "Audio",
  124. "AudioCodec": "mp3",
  125. "Context": "Streaming",
  126. "Protocol": "http",
  127. "MaxAudioChannels": "2"
  128. },
  129. {
  130. "Container": "opus",
  131. "Type": "Audio",
  132. "AudioCodec": "opus",
  133. "Context": "Streaming",
  134. "Protocol": "http",
  135. "MaxAudioChannels": "2"
  136. },
  137. {
  138. "Container": "wav",
  139. "Type": "Audio",
  140. "AudioCodec": "wav",
  141. "Context": "Streaming",
  142. "Protocol": "http",
  143. "MaxAudioChannels": "2"
  144. },
  145. {
  146. "Container": "opus",
  147. "Type": "Audio",
  148. "AudioCodec": "opus",
  149. "Context": "Static",
  150. "Protocol": "http",
  151. "MaxAudioChannels": "2"
  152. },
  153. {
  154. "Container": "mp3",
  155. "Type": "Audio",
  156. "AudioCodec": "mp3",
  157. "Context": "Static",
  158. "Protocol": "http",
  159. "MaxAudioChannels": "2"
  160. },
  161. {
  162. "Container": "aac",
  163. "Type": "Audio",
  164. "AudioCodec": "aac",
  165. "Context": "Static",
  166. "Protocol": "http",
  167. "MaxAudioChannels": "2"
  168. },
  169. {
  170. "Container": "wav",
  171. "Type": "Audio",
  172. "AudioCodec": "wav",
  173. "Context": "Static",
  174. "Protocol": "http",
  175. "MaxAudioChannels": "2"
  176. },
  177. {
  178. "Container": "mp4",
  179. "Type": "Video",
  180. "AudioCodec": "aac,mp2,opus,flac",
  181. "VideoCodec": "av1,hevc,h264,vp9",
  182. "Context": "Streaming",
  183. "Protocol": "hls",
  184. "MaxAudioChannels": "2",
  185. "MinSegments": "2",
  186. "BreakOnNonKeyFrames": true
  187. },
  188. {
  189. "Container": "ts",
  190. "Type": "Video",
  191. "AudioCodec": "aac,mp3,mp2",
  192. "VideoCodec": "h264",
  193. "Context": "Streaming",
  194. "Protocol": "hls",
  195. "MaxAudioChannels": "2",
  196. "MinSegments": "2",
  197. "BreakOnNonKeyFrames": true
  198. }
  199. ],
  200. "ContainerProfiles": [],
  201. "CodecProfiles": [
  202. {
  203. "Type": "VideoAudio",
  204. "Codec": "aac",
  205. "Conditions": [
  206. {
  207. "Condition": "Equals",
  208. "Property": "IsSecondaryAudio",
  209. "Value": "false",
  210. "IsRequired": false
  211. }
  212. ]
  213. },
  214. {
  215. "Type": "VideoAudio",
  216. "Conditions": [
  217. {
  218. "Condition": "Equals",
  219. "Property": "IsSecondaryAudio",
  220. "Value": "false",
  221. "IsRequired": false
  222. }
  223. ]
  224. },
  225. {
  226. "Type": "Video",
  227. "Codec": "h264",
  228. "Conditions": [
  229. {
  230. "Condition": "NotEquals",
  231. "Property": "IsAnamorphic",
  232. "Value": "true",
  233. "IsRequired": false
  234. },
  235. {
  236. "Condition": "EqualsAny",
  237. "Property": "VideoProfile",
  238. "Value": "high|main|baseline|constrained baseline|high 10",
  239. "IsRequired": false
  240. },
  241. {
  242. "Condition": "EqualsAny",
  243. "Property": "VideoRangeType",
  244. "Value": "SDR",
  245. "IsRequired": false
  246. },
  247. {
  248. "Condition": "LessThanEqual",
  249. "Property": "VideoLevel",
  250. "Value": "52",
  251. "IsRequired": false
  252. },
  253. {
  254. "Condition": "NotEquals",
  255. "Property": "IsInterlaced",
  256. "Value": "true",
  257. "IsRequired": false
  258. }
  259. ]
  260. },
  261. {
  262. "Type": "Video",
  263. "Codec": "hevc",
  264. "Conditions": [
  265. {
  266. "Condition": "NotEquals",
  267. "Property": "IsAnamorphic",
  268. "Value": "true",
  269. "IsRequired": false
  270. },
  271. {
  272. "Condition": "EqualsAny",
  273. "Property": "VideoProfile",
  274. "Value": "main|main 10",
  275. "IsRequired": false
  276. },
  277. {
  278. "Condition": "EqualsAny",
  279. "Property": "VideoRangeType",
  280. "Value": "SDR|HDR10|HLG",
  281. "IsRequired": false
  282. },
  283. {
  284. "Condition": "LessThanEqual",
  285. "Property": "VideoLevel",
  286. "Value": "183",
  287. "IsRequired": false
  288. },
  289. {
  290. "Condition": "NotEquals",
  291. "Property": "IsInterlaced",
  292. "Value": "true",
  293. "IsRequired": false
  294. }
  295. ]
  296. },
  297. {
  298. "Type": "Video",
  299. "Codec": "vp9",
  300. "Conditions": [
  301. {
  302. "Condition": "EqualsAny",
  303. "Property": "VideoRangeType",
  304. "Value": "SDR|HDR10|HLG",
  305. "IsRequired": false
  306. }
  307. ]
  308. },
  309. {
  310. "Type": "Video",
  311. "Codec": "av1",
  312. "Conditions": [
  313. {
  314. "Condition": "NotEquals",
  315. "Property": "IsAnamorphic",
  316. "Value": "true",
  317. "IsRequired": false
  318. },
  319. {
  320. "Condition": "EqualsAny",
  321. "Property": "VideoProfile",
  322. "Value": "main",
  323. "IsRequired": false
  324. },
  325. {
  326. "Condition": "EqualsAny",
  327. "Property": "VideoRangeType",
  328. "Value": "SDR|HDR10|HLG",
  329. "IsRequired": false
  330. },
  331. {
  332. "Condition": "LessThanEqual",
  333. "Property": "VideoLevel",
  334. "Value": "19",
  335. "IsRequired": false
  336. }
  337. ]
  338. }
  339. ],
  340. "SubtitleProfiles": [
  341. {
  342. "Format": "vtt",
  343. "Method": "External"
  344. },
  345. {
  346. "Format": "ass",
  347. "Method": "External"
  348. },
  349. {
  350. "Format": "ssa",
  351. "Method": "External"
  352. }
  353. ],
  354. "ResponseProfiles": [
  355. {
  356. "Type": "Video",
  357. "Container": "m4v",
  358. "MimeType": "video/mp4"
  359. }
  360. ]
  361. }