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

No codecs (h264, mvk etc.) available #308

Open
arminveres opened this issue Jul 23, 2024 · 2 comments
Open

No codecs (h264, mvk etc.) available #308

arminveres opened this issue Jul 23, 2024 · 2 comments
Labels
bug Something isn't working

Comments

@arminveres
Copy link

Affected version

- io.github.seadve.Kooha 2.3.0
- Flatpak: false
- Experimental Features: []

- Language: en_US.UTF-8, en_US, en.UTF-8, en, C

- CPU: Intel(R) Core(TM) i7-9700K CPU @ 3.60GHz
- GPU: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21 [Radeon RX 6800/6800 XT / 6900 XT] (rev c0)

- Distribution: NixOS 24.11 (Vicuna)
- Desktop Session: hyprland
- Display Server: wayland

- GTK 4.14.4
- Libadwaita 1.5.2
- GStreamer 1.24.3
- Pipewire 1.0.7

I have installed following packages on NixOS:

    kooha
    gst_all_1.gstreamer
    gst_all_1.gst-plugins-base
    gst_all_1.gst-plugins-good
    gst_all_1.gst-plugins-ugly
    gst_all_1.gst-plugins-bad
    gst_all_1.gst-plugins-rs
    gst_all_1.gst-libav

Bug summary

Unable to use any other codec than GIF and WEBM.

Steps to reproduce

Goto preferences and select under Video, Format.

Expected behavior

Provide more encoding options.

Relevant logs, screenshots, screencasts, etc.

2024-07-23T21:01:43.371279Z  INFO kooha::application: Kooha (io.github.seadve.Kooha)
2024-07-23T21:01:43.371288Z  INFO kooha::application: Version: 2.3.0 ()
2024-07-23T21:01:43.371290Z  INFO kooha::application: Datadir: /nix/store/rzw2zhmg477pjnbjrsphwmfqah8fv3ra-kooha-2.3.0/share/kooha

(kooha:234220): Gtk-WARNING **: 23:01:43.379: Theme parser error: gtk.css:5:1-145: Failed to import: Error opening file /nix/store/9mzq0qfdqxmsjc9p8dfgl5b0sfivj6ll-colloid-gtk-theme-2024-06-18/share/themes/Colloid-Orange-Dark/gtk-4.0/gtk.css: No such file or directory
0:00:02.062772531 234220 0x555935c8aae0 ERROR           GST_PIPELINE gst/parse/grammar.y:630:gst_parse_element_make: no element "h264parse"
0:00:02.062803697 234220 0x555935c8aae0 ERROR           GST_PIPELINE gst/parse/grammar.y:1327:priv_gst_parse_yyparse: link has no sink [source=@0x5559371fd3d0]
2024-07-23T21:01:45.432652Z DEBUG kooha::profile: Profile `mp4` is not available: Failed to parse videoenc bin

Caused by:
    no element "h264parse"

Stack backtrace:
   0: kooha::profile::Profile::is_available
   1: gtk4::custom_filter::trampoline
   2: gtk_filter_list_model_run_filter
   3: gtk_filter_list_model_start_filtering
   4: gtk_filter_list_model_refilter
   5: gtk_filter_list_model_set_filter
   6: object_set_property
   7: g_object_new_internal.part.0
   8: g_object_new_valist
   9: g_object_new
  10: gtk_filter_list_model_new
  11: <kooha::preferences_dialog::imp::PreferencesDialog as glib::subclass::object::ObjectImpl>::constructed
  12: g_object_new_internal.part.0
  13: g_object_new_with_properties
  14: glib::object::Object::with_mut_values
  15: kooha::preferences_dialog::PreferencesDialog::new
  16: kooha::application::Application::setup_gactions::{{closure}}
  17: gio::auto::simple_action::SimpleAction::connect_activate::activate_trampoline
  18: g_closure_invoke
  19: signal_emit_unlocked_R.isra.0
  20: signal_emit_valist_unlocked
  21: g_signal_emit_valist
  22: g_signal_emit
  23: g_simple_action_activate
  24: gtk_menu_tracker_item_activated
  25: gtk_popover_item_activate
  26: g_closure_invoke
  27: signal_emit_unlocked_R.isra.0
  28: signal_emit_valist_unlocked
  29: g_signal_emit_valist
  30: g_signal_emit
  31: _gtk_marshal_VOID__INT_DOUBLE_DOUBLEv
  32: _g_closure_invoke_va
  33: signal_emit_valist_unlocked
  34: g_signal_emit_valist
  35: g_signal_emit
  36: gtk_gesture_click_end
  37: g_cclosure_marshal_VOID__BOXEDv
  38: _g_closure_invoke_va
  39: signal_emit_valist_unlocked
  40: g_signal_emit_valist
  41: g_signal_emit
  42: _gtk_gesture_check_recognized
  43: gtk_gesture_handle_event
  44: gtk_gesture_single_handle_event
  45: gtk_event_controller_handle_event
  46: gtk_widget_run_controllers
  47: _gtk_widget_captured_event
  48: gtk_propagate_event_internal
  49: gtk_main_do_event
  50: surface_event
  51: _gdk_marshal_BOOLEAN__POINTERv
  52: gdk_surface_event_marshallerv
  53: _g_closure_invoke_va
  54: signal_emit_valist_unlocked
  55: g_signal_emit_valist
  56: g_signal_emit
  57: gdk_surface_handle_event
  58: gdk_event_source_dispatch
  59: g_main_dispatch
  60: g_main_context_iterate_unlocked.isra.0
  61: g_main_context_iteration
  62: g_application_run
  63: kooha::main
  64: std::sys_common::backtrace::__rust_begin_short_backtrace
  65: main
  66: __libc_start_call_main
  67: __libc_start_main@@GLIBC_2.34
  68: _start
0:00:02.072237609 234220 0x555935c8aae0 ERROR           GST_PIPELINE gst/parse/grammar.y:630:gst_parse_element_make: no element "h264parse"
0:00:02.072254372 234220 0x555935c8aae0 ERROR           GST_PIPELINE gst/parse/grammar.y:1327:priv_gst_parse_yyparse: link has no sink [source=@0x55593723e730]
2024-07-23T21:01:45.441416Z DEBUG kooha::profile: Profile `matroska-h264` is not available: Failed to parse videoenc bin

Caused by:
    no element "h264parse"

Stack backtrace:
   0: kooha::profile::Profile::is_available
   1: gtk4::custom_filter::trampoline
   2: gtk_filter_list_model_run_filter
   3: gtk_filter_list_model_start_filtering
   4: gtk_filter_list_model_refilter
   5: gtk_filter_list_model_set_filter
   6: object_set_property
   7: g_object_new_internal.part.0
   8: g_object_new_valist
   9: g_object_new
  10: gtk_filter_list_model_new
  11: <kooha::preferences_dialog::imp::PreferencesDialog as glib::subclass::object::ObjectImpl>::constructed
  12: g_object_new_internal.part.0
  13: g_object_new_with_properties
  14: glib::object::Object::with_mut_values
  15: kooha::preferences_dialog::PreferencesDialog::new
  16: kooha::application::Application::setup_gactions::{{closure}}
  17: gio::auto::simple_action::SimpleAction::connect_activate::activate_trampoline
  18: g_closure_invoke
  19: signal_emit_unlocked_R.isra.0
  20: signal_emit_valist_unlocked
  21: g_signal_emit_valist
  22: g_signal_emit
  23: g_simple_action_activate
  24: gtk_menu_tracker_item_activated
  25: gtk_popover_item_activate
  26: g_closure_invoke
  27: signal_emit_unlocked_R.isra.0
  28: signal_emit_valist_unlocked
  29: g_signal_emit_valist
  30: g_signal_emit
  31: _gtk_marshal_VOID__INT_DOUBLE_DOUBLEv
  32: _g_closure_invoke_va
  33: signal_emit_valist_unlocked
  34: g_signal_emit_valist
  35: g_signal_emit
  36: gtk_gesture_click_end
  37: g_cclosure_marshal_VOID__BOXEDv
  38: _g_closure_invoke_va
  39: signal_emit_valist_unlocked
  40: g_signal_emit_valist
  41: g_signal_emit
  42: _gtk_gesture_check_recognized
  43: gtk_gesture_handle_event
  44: gtk_gesture_single_handle_event
  45: gtk_event_controller_handle_event
  46: gtk_widget_run_controllers
  47: _gtk_widget_captured_event
  48: gtk_propagate_event_internal
  49: gtk_main_do_event
  50: surface_event
  51: _gdk_marshal_BOOLEAN__POINTERv
  52: gdk_surface_event_marshallerv
  53: _g_closure_invoke_va
  54: signal_emit_valist_unlocked
  55: g_signal_emit_valist
  56: g_signal_emit
  57: gdk_surface_handle_event
  58: gdk_event_source_dispatch
  59: g_main_dispatch
  60: g_main_context_iterate_unlocked.isra.0
  61: g_main_context_iteration
  62: g_application_run
  63: kooha::main
  64: std::sys_common::backtrace::__rust_begin_short_backtrace
  65: main
  66: __libc_start_call_main
  67: __libc_start_main@@GLIBC_2.34
  68: _start

Ran gst-inspect-1.0 h264parse with output:

Factory Details:
  Rank                     primary + 1 (257)
  Long-name                H.264 parser
  Klass                    Codec/Parser/Converter/Video
  Description              Parses H.264 streams
  Author                   Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
  Documentation            https://gstreamer.freedesktop.org/documentation/videoparsersbad/h264parse.html

Plugin Details:
  Name                     videoparsersbad
  Description              videoparsers
  Filename                 /run/current-system/sw/lib/gstreamer-1.0/libgstvideoparsersbad.so
  Version                  1.24.3
  License                  LGPL
  Source module            gst-plugins-bad
  Documentation            https://gstreamer.freedesktop.org/documentation/videoparsersbad/
  Source release date      2024-04-30
  Binary package           GStreamer Bad Plug-ins source release
  Origin URL               Unknown package origin

GObject
 +----GInitiallyUnowned
       +----GstObject
             +----GstElement
                   +----GstBaseParse
                         +----GstH264Parse

Pad Templates:
  SINK template: 'sink'
    Availability: Always
    Capabilities:
      video/x-h264

  SRC template: 'src'
    Availability: Always
    Capabilities:
      video/x-h264
                 parsed: true
          stream-format: { (string)avc, (string)avc3, (string)byte-stream }
              alignment: { (string)au, (string)nal }

Element has no clocking capabilities.
Element has no URI handling capabilities.

Pads:
  SINK: 'sink'
    Pad Template: 'sink'
  SRC: 'src'
    Pad Template: 'src'

Element Properties:

  config-interval     : Send SPS and PPS Insertion Interval in seconds (sprop parameter sets will be multiplexed in the data stream when detected.) (0 = disabled, -1 = send with every IDR frame)
                        flags: readable, writable
                        Integer. Range: -1 - 3600 Default: 0

  disable-passthrough : Force processing (disables passthrough)
                        flags: readable, writable
                        Boolean. Default: false

  name                : The name of the object
                        flags: readable, writable
                        String. Default: "h264parse0"

  parent              : The parent of the object
                        flags: readable, writable
                        Object of type "GstObject"

  update-timecode     : Update time code values in Picture Timing SEI if GstVideoTimeCodeMeta is attached to incoming buffer and also Picture Timing SEI exists in the bitstream. To make this property work, SPS must contain VUI and pic_struct_present_flag of VUI must be non-zero
                        flags: readable, writable
                        Boolean. Default: false
@SeaDve
Copy link
Owner

SeaDve commented Jul 24, 2024

I wonder if this has also happened on an older GStreamer version (e.g. 1.22)

@arminveres
Copy link
Author

@SeaDve I wouldn't know, since I just installed Kooha for the first time. (Thanks though for it, it is really awesome otherwise!)

@SeaDve SeaDve added the bug Something isn't working label Jul 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants