jibri.conf 4.1 KB

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