jibri.conf 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. {{ $JIBRI_USAGE_TIMEOUT := .Env.JIBRI_USAGE_TIMEOUT | default "0" -}}
  2. {{ $JIBRI_RECORDING_RESOLUTION := .Env.JIBRI_RECORDING_RESOLUTION | default "1280x720" -}}
  3. {{ $XMPP_TRUST_ALL_CERTS := .Env.XMPP_TRUST_ALL_CERTS | default "true" | toBool -}}
  4. {{ $XMPP_PORT := .Env.XMPP_PORT | default "5222" -}}
  5. jibri {
  6. // A unique identifier for this Jibri
  7. id = "{{ .Env.JIBRI_INSTANCE_ID }}"
  8. api {
  9. {{ if or .Env.JIBRI_HTTP_API_EXTERNAL_PORT .Env.JIBRI_HTTP_API_INTERNAL_PORT -}}
  10. http {
  11. {{ if .Env.JIBRI_HTTP_API_EXTERNAL_PORT -}}
  12. external-api-port = {{ .Env.JIBRI_HTTP_API_EXTERNAL_PORT }}
  13. {{ end -}}
  14. {{ if .Env.JIBRI_HTTP_API_INTERNAL_PORT -}}
  15. internal-api-port = {{ .Env.JIBRI_HTTP_API_INTERNAL_PORT }}
  16. {{ end -}}
  17. }
  18. {{ end -}}
  19. xmpp {
  20. // See example_xmpp_envs.conf for an example of what is expected here
  21. environments = [
  22. {
  23. // A user-friendly name for this environment
  24. name = "{{ .Env.XMPP_ENV_NAME }}"
  25. // A list of XMPP server hosts to which we'll connect
  26. xmpp-server-hosts = [
  27. "{{ .Env.XMPP_SERVER }}"
  28. ]
  29. // The base XMPP domain
  30. xmpp-domain = "{{ .Env.XMPP_DOMAIN }}"
  31. {{ if .Env.PUBLIC_URL -}}
  32. // An (optional) base url the Jibri will join if it is set
  33. base-url = "{{ .Env.PUBLIC_URL }}"
  34. {{ end -}}
  35. // The MUC we'll join to announce our presence for
  36. // recording and streaming services
  37. control-muc {
  38. domain = "{{ .Env.XMPP_INTERNAL_MUC_DOMAIN }}"
  39. room-name = "{{ .Env.JIBRI_BREWERY_MUC }}"
  40. nickname = "{{ .Env.JIBRI_INSTANCE_ID }}"
  41. }
  42. // The login information for the control MUC
  43. control-login {
  44. domain = "{{ .Env.XMPP_AUTH_DOMAIN }}"
  45. port = "{{ $XMPP_PORT }}"
  46. username = "{{ .Env.JIBRI_XMPP_USER }}"
  47. password = "{{ .Env.JIBRI_XMPP_PASSWORD }}"
  48. }
  49. // The login information the selenium web client will use
  50. call-login {
  51. domain = "{{ .Env.XMPP_RECORDER_DOMAIN }}"
  52. username = "{{ .Env.JIBRI_RECORDER_USER }}"
  53. password = "{{ .Env.JIBRI_RECORDER_PASSWORD }}"
  54. }
  55. // The value we'll strip from the room JID domain to derive
  56. // the call URL
  57. strip-from-room-domain = "{{ .Env.JIBRI_STRIP_DOMAIN_JID }}."
  58. // How long Jibri sessions will be allowed to last before
  59. // they are stopped. A value of 0 allows them to go on
  60. // indefinitely
  61. usage-timeout = "{{ $JIBRI_USAGE_TIMEOUT }}"
  62. // Whether or not we'll automatically trust any cert on
  63. // this XMPP domain
  64. trust-all-xmpp-certs = {{ $XMPP_TRUST_ALL_CERTS }}
  65. }
  66. ]
  67. }
  68. }
  69. recording {
  70. recordings-directory = "{{ .Env.JIBRI_RECORDING_DIR }}"
  71. {{ if .Env.JIBRI_FINALIZE_RECORDING_SCRIPT_PATH -}}
  72. finalize-script = "{{ .Env.JIBRI_FINALIZE_RECORDING_SCRIPT_PATH }}"
  73. {{ end -}}
  74. }
  75. ffmpeg {
  76. resolution = "{{ $JIBRI_RECORDING_RESOLUTION }}"
  77. {{ if .Env.JIBRI_FFMPEG_AUDIO_SOURCE -}}
  78. // The audio source that will be used to capture audio on Linux
  79. audio-source = "{{ .Env.JIBRI_FFMPEG_AUDIO_SOURCE }}"
  80. {{ end -}}
  81. {{ if .Env.JIBRI_FFMPEG_AUDIO_DEVICE -}}
  82. // The audio device that will be used to capture audio on Linux
  83. audio-device = "{{ .Env.JIBRI_FFMPEG_AUDIO_DEVICE }}"
  84. {{ end -}}
  85. }
  86. {{ if .Env.CHROMIUM_FLAGS -}}
  87. chrome {
  88. // The flags which will be passed to chromium when launching
  89. flags = [
  90. "{{ join "\",\"" (splitList "," .Env.CHROMIUM_FLAGS) }}"
  91. ]
  92. }
  93. {{ end -}}
  94. {{ if .Env.ENABLE_STATS_D -}}
  95. stats {
  96. enable-stats-d = {{ .Env.ENABLE_STATS_D }}
  97. }
  98. {{ end -}}
  99. }