Skip to content
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

[vpx_plugin] VP8 Encoder causes significant quality loss #841

Closed
FelonEkonom opened this issue Jul 10, 2024 · 1 comment
Closed

[vpx_plugin] VP8 Encoder causes significant quality loss #841

FelonEkonom opened this issue Jul 10, 2024 · 1 comment
Assignees

Comments

@FelonEkonom
Copy link
Member

Using Membrane.VP8.Encoder causes significant quality loss

Example pipeline:

defmodule TransmuxingPipeline do
  use Membrane.Pipeline

  @impl true
  def handle_init(_ctx, _options) do
    priv = "#{__DIR__}/../../priv/" |> Path.expand()
    mp4_path = Path.join(priv, "fixtures/bunny_without_sound.mp4")
    mkv_path = Path.join(priv, "outputs/bunny_without_sound.mkv")

    spec = [
      child(:source, %Membrane.File.Source{location: mp4_path})
      |> child(:mp4_demuxer, Membrane.MP4.Demuxer.ISOM)
      |> via_out(:output, options: [kind: :video])
      |> child(:h264_parser_1, %Membrane.H264.Parser{output_stream_structure: :annexb})
      |> child(:h264_decoder, Membrane.H264.FFmpeg.Decoder)
      |> child(:vp8_encoder, %Membrane.VP8.Encoder{encoding_deadline: 200})
      |> child(:matroska_muxer, Membrane.Matroska.Muxer)
      |> child(:file_sink, %Membrane.File.Sink{location: mkv_path})
    ]

    {[spec: spec], %{}}
  end

  @impl true
  def handle_element_end_of_stream(:file_sink, _input, _ctx, state) do
    {[terminate: :normal], state}
  end

  @impl true
  def handle_element_end_of_stream(_element, _input, _ctx, state), do: {[], state}
end
@FelonEkonom FelonEkonom moved this to Todo in Smackore Jul 10, 2024
@Noarkhh
Copy link
Contributor

Noarkhh commented Jul 11, 2024

membraneframework/membrane_vpx_plugin#6 should fix that, give it a try

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

No branches or pull requests

2 participants