No codecs (h264, mvk etc.) available
arminveres opened this issue · 2 comments
arminveres commented
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 commented
I wonder if this has also happened on an older GStreamer version (e.g. 1.22
)
arminveres commented
@SeaDve I wouldn't know, since I just installed Kooha for the first time. (Thanks though for it, it is really awesome otherwise!)