Skip to content

Commit

Permalink
✨(backend) use peertube transcoding pipeline by default
Browse files Browse the repository at this point in the history
The BigBlueButton VODs are still using the AWS transcoding pipeline by default.
Switching to use the Peertube transcoding pipeline.
  • Loading branch information
wilbrdt committed Feb 19, 2025
1 parent c800fe3 commit 6049e04
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 21 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ Versioning](https://semver.org/spec/v2.0.0.html).

- Increase connection timeout on Nginx for peertube runner success request
- Allow disabling Cloudfront signed URLs
- Use Peertube pipeline by default for BBB VOD transcoding

## [5.5.3] - 2025-01-09

Expand Down
2 changes: 1 addition & 1 deletion src/backend/marsha/bbb/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -763,7 +763,7 @@ def create_vod(self, request, pk=None, classroom_id=None):
classroom_recording.vod = Video.objects.create(
title=request.data.get("title"),
playlist=classroom_recording.classroom.playlist,
transcode_pipeline=defaults.AWS_PIPELINE,
transcode_pipeline=defaults.PEERTUBE_PIPELINE,
)
classroom_recording.save()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -163,12 +163,12 @@ def test_api_classroom_recording_create_vod_instructor_or_admin(self):
status=200,
)

with mock.patch(
"marsha.bbb.api.invoke_lambda_convert"
) as mock_invoke_lambda_convert, mock.patch.object(
timezone, "now", return_value=now
), self.assertNumQueries(
9
with (
mock.patch(
"marsha.bbb.api.invoke_lambda_convert"
) as mock_invoke_lambda_convert,
mock.patch.object(timezone, "now", return_value=now),
self.assertNumQueries(9),
):
response = self.client.post(
f"/api/classrooms/{recording.classroom.id}/recordings/{recording.id}/create-vod/",
Expand All @@ -177,7 +177,7 @@ def test_api_classroom_recording_create_vod_instructor_or_admin(self):
)

self.assertEqual(Video.objects.count(), 1)
self.assertEqual(Video.objects.first().transcode_pipeline, "AWS")
self.assertEqual(Video.objects.first().transcode_pipeline, "peertube")
self.assertEqual(response.status_code, 201)

recording.refresh_from_db()
Expand Down Expand Up @@ -225,9 +225,10 @@ def test_api_classroom_recording_create_vod_instructor_or_admin_unknown_recordin

now = timezone.now()

with mock.patch.object(
timezone, "now", return_value=now
), self.assertNumQueries(1):
with (
mock.patch.object(timezone, "now", return_value=now),
self.assertNumQueries(1),
):
response = self.client.post(
f"/api/classrooms/{recording.classroom.id}"
f"/recordings/{recording.classroom.id}/create-vod/",
Expand Down Expand Up @@ -331,7 +332,7 @@ def test_api_classroom_recording_create_vod_user_access_token_organization_admin

self.assertEqual(response.status_code, 201)
self.assertEqual(Video.objects.count(), 1)
self.assertEqual(Video.objects.first().transcode_pipeline, "AWS")
self.assertEqual(Video.objects.first().transcode_pipeline, "peertube")

@responses.activate
def test_api_classroom_recording_create_vod_from_standalone_site_no_consumer_site(
Expand Down Expand Up @@ -410,7 +411,7 @@ def test_api_classroom_recording_create_vod_from_standalone_site_no_consumer_sit

self.assertEqual(response.status_code, 201)
self.assertEqual(Video.objects.count(), 1)
self.assertEqual(Video.objects.first().transcode_pipeline, "AWS")
self.assertEqual(Video.objects.first().transcode_pipeline, "peertube")

def test_api_classroom_recording_create_vod_from_standalone_site_inactive_conversion(
self,
Expand Down Expand Up @@ -510,7 +511,7 @@ def test_api_classroom_recording_create_vod_user_access_token_playlist_admin(

self.assertEqual(response.status_code, 201)
self.assertEqual(Video.objects.count(), 1)
self.assertEqual(Video.objects.first().transcode_pipeline, "AWS")
self.assertEqual(Video.objects.first().transcode_pipeline, "peertube")

@responses.activate
def test_api_classroom_recording_create_vod_user_access_token_playlist_instructor(
Expand Down Expand Up @@ -584,7 +585,7 @@ def test_api_classroom_recording_create_vod_user_access_token_playlist_instructo

self.assertEqual(response.status_code, 201)
self.assertEqual(Video.objects.count(), 1)
self.assertEqual(Video.objects.first().transcode_pipeline, "AWS")
self.assertEqual(Video.objects.first().transcode_pipeline, "peertube")

def test_api_classroom_recording_create_vod_user_access_token_playlist_student(
self,
Expand Down Expand Up @@ -666,12 +667,12 @@ def test_api_classroom_recording_create_vod_instructor_or_admin_inactive_convers

now = timezone.now()

with mock.patch(
"marsha.bbb.api.invoke_lambda_convert"
) as mock_invoke_lambda_convert, mock.patch.object(
timezone, "now", return_value=now
), self.assertNumQueries(
1
with (
mock.patch(
"marsha.bbb.api.invoke_lambda_convert"
) as mock_invoke_lambda_convert,
mock.patch.object(timezone, "now", return_value=now),
self.assertNumQueries(1),
):
response = self.client.post(
f"/api/classrooms/{recording.classroom.id}/recordings/{recording.id}/create-vod/",
Expand Down

0 comments on commit 6049e04

Please sign in to comment.