-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Transcoding #40
base: master
Are you sure you want to change the base?
Transcoding #40
Conversation
f018810
to
e66de64
Compare
e66de64
to
beb3bcd
Compare
lib/boombox/mp4.ex
Outdated
alias Membrane.H264 | ||
alias Membrane.H265 | ||
|
||
defguardp is_h264_or_h265(format) when is_struct(format) and format.__struct__ in [H264, H265] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
defguardp is_h264_or_h265(format) when is_struct(format) and format.__struct__ in [H264, H265] | |
defguardp is_h26x(format) when is_struct(format) and format.__struct__ in [H264, H265] |
lib/boombox/mp4.ex
Outdated
_not_h264 -> | ||
%H264{stream_structure: :avc3, alignment: :au} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what about H265?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@varsill what types of H265 can be put inside MP4 and what types of conversion should be avoided there?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can put there :hvc1
and :hev1
and you need to treat :hvc1
just as you treat :avc1
and :hev1
as :avc3
lib/boombox/transcoders/video.ex
Outdated
@@ -0,0 +1,161 @@ | |||
defmodule Boombox.Transcoders.Video do |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
WDYT about merging this with the Audio transcoder bin?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Now the way how each of transcoder is built is slightly different, I don't see much repeated code there
a992ad1
to
1264a4f
Compare
@mat-hek this is ready to review |
lib/boombox/transcoder/audio.ex
Outdated
@@ -0,0 +1,91 @@ | |||
defmodule Boombox.Transcoder.Audio do | |||
@moduledoc false | |||
use Membrane.Bin |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
use Membrane.Bin |
lib/boombox/webrtc.ex
Outdated
@@ -3,10 +3,16 @@ defmodule Boombox.WebRTC do | |||
|
|||
import Membrane.ChildrenSpec | |||
require Membrane.Pad, as: Pad | |||
alias Boombox.Pipeline.{Ready, Wait} | |||
alias Boombox.Pipeline.{Ready, State, Wait} | |||
# alias Boombox.Transcoders |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
leftover
test/test_helper.exs
Outdated
@@ -1 +1,2 @@ | |||
ExUnit.start(capture_log: true) | |||
# ExUnit.start() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
leftover
test/boombox_test.exs
Outdated
# System.shell("cp #{output} test/fixtures/ref_bun10s_h265.mp4") | ||
# System.cmd("cp", [output, "test/fixtures/ref_bun10s_h265.mp4"]) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
leftover
test/boombox_test.exs
Outdated
@@ -25,6 +26,16 @@ defmodule BoomboxTest do | |||
Compare.compare(output, "test/fixtures/ref_bun10s_aac.mp4") | |||
end | |||
|
|||
@tag :xd |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
leftover
:membrane_webrtc_plugin, | ||
github: "membraneframework/membrane_webrtc_plugin", | ||
branch: "support-various-video-codecs-in-source" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
seems like this needs some attention membraneframework/membrane_webrtc_plugin#11
Closes #19