kitone / subtitleeditor Goto Github PK
View Code? Open in Web Editor NEWSubtitle Editor is a GTK+3 tool to create or edit subtitles for GNU/Linux/*BSD.
Home Page: http://kitone.github.io/subtitleeditor/
License: GNU General Public License v3.0
Subtitle Editor is a GTK+3 tool to create or edit subtitles for GNU/Linux/*BSD.
Home Page: http://kitone.github.io/subtitleeditor/
License: GNU General Public License v3.0
Right-clicking a subtitle in the bottom pane should open a context menu with the essential functions to be performed on a subtitle:
Hello,
Under gnome wayland the video window does not embed like under X. I believe this is because under wayland there needs to be a different xWindowId? Some research shows this might work to get it; gdk_wayland_window_get_wl_surface (window));
.
subtitleeditor/src/vp/gstplayer.cc
Line 741 in 75fa38b
Thanks for this neat program btw!
e: this is the 'error' I get running it btw;
(subtitleeditor:49896): Gdk-WARNING **: 21:35:16.439: ../../../../../gdk/x11/gdkwindow-x11.c:5653 drawable is not a native X11 window
I wasn't able to successfully run autogen.sh
until I had installed libtool. I'm running Fedora 32.
Before I installed it I had lots of errors like this:
plugins/subtitleformats/subtitleeditorproject/Makefile.am:4: error: Libtool library used but 'LIBTOOL' is undefined
plugins/subtitleformats/subtitleeditorproject/Makefile.am:4: The usual way to define 'LIBTOOL' is to add 'LT_INIT'
plugins/subtitleformats/subtitleeditorproject/Makefile.am:4: to 'configure.ac' and run 'aclocal' and 'autoconf' again.
plugins/subtitleformats/subtitleeditorproject/Makefile.am:4: If 'LT_INIT' is in 'configure.ac', make sure
plugins/subtitleformats/subtitleeditorproject/Makefile.am:4: its definition is in aclocal's search path.
i went through all the shortcuts in options > configure keyboard shortcuts ; but no such option
the only way i found to add/remove 100 milliseconds in by clicking TImings>Add/remove 100 milliseconds>To start/end
it is very tedious to go every time and click it manually,
another way is manually typing the timings for each subtitle end/start , also very tedious.
is there a button or trick for this purpose, like in gnome-subtitles?
if no ,please create one?
Hi kitone,
I still carry (a now slightly modified) patch to be able to compile on Debian.
To not loose track of your effort I opened this bug report now.
I post the newest comment here, the whole bug available here: https://web.archive.org/web/20170205222737/http://gna.org/bugs/?24958
You could probably create a separate branch to work on this issue this way others could help easier.
Best,
Philip
Wed 14 Sep 2016 06:53:20 PM UTC, comment #8:
Hi,
The problem is that the flag option -Wformat-security was added by the distrib.
SE build with this options (see configure.ac line 272) :
CXXFLAGS="$CXXFLAGS -Wall -Wextra -Wconversion"
This end with something like this with the override :
CXXFLAGS="$CXXFLAGS -Wall -Wextra -Wconversion -Wformat-security"
This break GST_ELEMENT_WARNING
(and others), we can force to disable the flag with this around the code :
...
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wformat-security"
se_debug_message(SE_DEBUG_VIDEO_PLAYER, "failed to gen_audio_element '%s'", ex.what());
GST_ELEMENT_WARNING(m_pipeline->gobj(), RESOURCE, NOT_FOUND, (ex.what()), (NULL));
#pragma GCC diagnostic pop
...
I have start to work on a patch with the flags -Wformat-security and -Werror by default, but this is a lot of work to make the compiler silent... (see the patch)
Sadly, it's hard to find time to work on it this days.
Best regards,
kitone
Hi.
Im trying to install on ubuntu 19.10, the steps I made are as follow:
git clone [email protected]:kitone/subtitleeditor.git
cd subtitleeditor/
./autogen.sh
make
running make gives me the following error:
make: *** No targets specified and no makefile found. Stop
Hi kitone,
running subtitleeditor from the terminal throws this
** (subtitleeditor:2586): CRITICAL **: bool Config::get_value_bool(const Glib::ustring&, const Glib::ustring&): assertion 'state' failed
It was reported by a Debian user, see the corresponding bug report: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=854534
Best,
Philip
Build with libxml++-3.0 fails:
isocodes.cc: In function 'bool isocodes::iso_codes_load_file(const Glib::ustring&, const Glib::ustring&, std::map<Glib::ustring, Glib::ustring>&)':
isocodes.cc:51:53: error: conversion from 'xmlpp::Node::const_NodeList {aka std::__cxx11::list<const xmlpp::Node*>}' to non-scalar type 'xmlpp::Node::NodeList {aka std::__cxx11::listxmlpp::Node*}' requested
xmlpp::Node::NodeList entries =
root->get_children(Glib::ustring::compose("%1_entry", iso_id));
After removing iso-codes from build depends, the build fails again with
similar error:
patternmanager.cc: In member function 'void PatternManager::load_pattern(const Glib::ustring&, const Glib::ustring&)':
patternmanager.cc:127:70: error: conversion from 'xmlpp::Node::const_NodeList {aka std::__cxx11::list<const xmlpp::Node*>}' to non-scalar type 'xmlpp::Node::NodeList {aka std::__cxx11::listxmlpp::Node*}' requested
xmlpp::Node::NodeList xml_pattern_list = xml_patterns->get_children("pattern");
patternmanager.cc: In member function 'Pattern* PatternManager::read_pattern(const xmlpp::Element_)':
patternmanager.cc:178:65: error: conversion from 'xmlpp::Node::const_NodeList {aka std::__cxx11::list}' to non-scalar type 'xmlpp::Node::NodeList {aka std::__cxx11::listxmlpp::Node*}' requested
xmlpp::Node::NodeList xml_rule_list = xml_pattern->get_children("rule");
patternmanager.cc:196:69: error: conversion from 'xmlpp::Node::const_NodeList {aka std::__cxx11::list<const xmlpp::Node*>}' to non-scalar type 'xmlpp::Node::NodeList {aka std::__cxx11::listxmlpp::Node*}' requested
xmlpp::Node::NodeList xml_previous_match = xml_rule->get_children("previousmatch");
I'm trying to make a ~helloworld srt with non-english words.
But i'm receiving segfault every time i'm typing any russian/cyrillic letter into text column. English letters are ok.
Backtrace
...
Reading symbols from subtitleeditor...done.
(gdb) run
Starting program: /usr/bin/subtitleeditor
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[New Thread 0x7fffe7395700 (LWP 15924)]
[New Thread 0x7fffe6b94700 (LWP 15925)]
[New Thread 0x7fffcf1d2700 (LWP 15928)]
[New Thread 0x7fffce9d1700 (LWP 15929)]
[Thread 0x7fffce9d1700 (LWP 15929) exited]
Thread 1 "subtitleeditor" received signal SIGSEGV, Segmentation fault.
0x00007fffcd512bd6 in hspell_check_word () from /usr/lib/libhspell.so.0
(gdb) bt
#0 0x00007fffcd512bd6 in hspell_check_word () at /usr/lib/libhspell.so.0
#1 0x00007fffcd71ac86 in () at /usr/lib/enchant/enchant_hspell.so
#2 0x00007ffff6f45377 in SEEnchantDict::check(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (utf8="sadв", this=0x5555561e1600) at spellchecker.cc:101
#3 0x00007ffff6f45377 in SpellChecker::check(Glib::ustring const&) (this=<optimized out>, word=...) at spellchecker.cc:294
#4 0x00007ffff6f7b77b in AutomaticSpellChecker::check_word(Gtk::TextIter, Gtk::TextIter) (this=this@entry=0x555556194180, start=..., end=...) at gui/automaticspellchecker.cc:247
#5 0x00007ffff6f7bdfc in AutomaticSpellChecker::check_range(Gtk::TextIter, Gtk::TextIter, bool) (this=this@entry=0x555556194180, start=..., end=..., force_all=force_all@entry=false) at gui/automaticspellchecker.cc:339
#6 0x00007ffff6f7c0b1 in AutomaticSpellChecker::on_insert_text_after(Gtk::TextIter const&, Glib::ustring const&, int) (this=0x555556194180, pos=...) at gui/automaticspellchecker.cc:165
#7 0x00007ffff6ac1658 in () at /usr/lib/libgtkmm-3.0.so.1
#8 0x00007ffff4d736f5 in g_closure_invoke () at /usr/lib/libgobject-2.0.so.0
#9 0x00007ffff4d86eff in () at /usr/lib/libgobject-2.0.so.0
#10 0x00007ffff4d8b696 in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#11 0x00007ffff4d8c920 in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#12 0x00007ffff5a4cd7a in gtk_text_buffer_insert_interactive () at /usr/lib/libgtk-3.so.0
#13 0x00007ffff5a4ce45 in gtk_text_buffer_insert_interactive_at_cursor () at /usr/lib/libgtk-3.so.0
#14 0x00007ffff5a7923f in () at /usr/lib/libgtk-3.so.0
#15 0x00007ffff4d726f5 in g_cclosure_marshal_VOID__STRINGv () at /usr/lib/libgobject-2.0.so.0
#16 0x00007ffff4d8bc01 in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#17 0x00007ffff4d8c62c in g_signal_emit_by_name () at /usr/lib/libgobject-2.0.so.0
#18 0x00007ffff4d726f5 in g_cclosure_marshal_VOID__STRINGv () at /usr/lib/libgobject-2.0.so.0
#19 0x00007ffff4d8bc01 in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#20 0x00007ffff4d8c62c in g_signal_emit_by_name () at /usr/lib/libgobject-2.0.so.0
#21 0x00007ffff595cf00 in () at /usr/lib/libgtk-3.so.0
#22 0x00007ffff595dedb in () at /usr/lib/libgtk-3.so.0
#23 0x00007ffff595fff4 in () at /usr/lib/libgtk-3.so.0
#24 0x00007ffff5a7a3ca in () at /usr/lib/libgtk-3.so.0
#25 0x00007ffff6ae6068 in Gtk::Widget::on_key_press_event(_GdkEventKey*) () at /usr/lib/libgtkmm-3.0.so.1
#26 0x00007ffff6ae8357 in Gtk::Widget_Class::key_press_event_callback(_GtkWidget*, _GdkEventKey*) () at /usr/lib/libgtkmm-3.0.so.1
#27 0x00007ffff5981488 in () at /usr/lib/libgtk-3.so.0
#28 0x00007ffff4d8b2c2 in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#29 0x00007ffff4d8c920 in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#30 0x00007ffff5ad49e5 in () at /usr/lib/libgtk-3.so.0
#31 0x00007ffff5af6214 in gtk_window_propagate_key_event () at /usr/lib/libgtk-3.so.0
#32 0x00007ffff5af9e5c in () at /usr/lib/libgtk-3.so.0
#33 0x00007ffff6ae6068 in Gtk::Widget::on_key_press_event(_GdkEventKey*) () at /usr/lib/libgtkmm-3.0.so.1
#34 0x00007ffff6ae8357 in Gtk::Widget_Class::key_press_event_callback(_GtkWidget*, _GdkEventKey*) () at /usr/lib/libgtkmm-3.0.so.1
#35 0x00007ffff5981488 in () at /usr/lib/libgtk-3.so.0
#36 0x00007ffff4d8bc01 in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#37 0x00007ffff4d8c920 in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#38 0x00007ffff5ad49e5 in () at /usr/lib/libgtk-3.so.0
#39 0x00007ffff597e2c2 in () at /usr/lib/libgtk-3.so.0
#40 0x00007ffff5980443 in gtk_main_do_event () at /usr/lib/libgtk-3.so.0
#41 0x00007ffff54889f6 in () at /usr/lib/libgdk-3.so.0
#42 0x00007ffff54bb375 in () at /usr/lib/libgdk-3.so.0
#43 0x00007ffff4aa3270 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#44 0x00007ffff4aa4f69 in () at /usr/lib/libglib-2.0.so.0
#45 0x00007ffff4aa5f42 in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#46 0x00007ffff597f50f in gtk_main () at /usr/lib/libgtk-3.so.0
#47 0x00007ffff6a801a2 in Gtk::Main::run(Gtk::Window&) () at /usr/lib/libgtkmm-3.0.so.1
#48 0x000055555557a239 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at main.cc:107
Look at line entry 2:
#2 0x00007ffff6f45377 in SEEnchantDict::check(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (utf8="sadв", this=0x5555561e1600) at spellchecker.cc:101
I've successfully typed "sad", and then switched language to russian, and typed russian letter "в". And it crashes. Don't know why. I don't have any issues with spellchecking in other programs.
Also, i don't have any programs, that depends on enchant
or hspell
.
Versions:
-g
Steps to reproduce:
insert
To reproduce:
Expected result:
It just works, like with any video player.
Actual result:
Occasionally and for no apparent reason, video does not play: the play button change from Play to Pause, but the time indicator remains frozen and the video does not advance. I can move the slider so see individual frames, but the video does not play. There does not seem to be any way to recover from this, other than by restarting the app (and even that does not always work).
Would be great if we could use your application for authoring WebVTT files.
The textcorrection plugin has the options
Sound in brackets
Sound in parantheses
to remove hearing impaired patterns. Both fail for multi-line sound like this:
(eerie sounds coming from afar
it is getting louder and louder)
I have tested with version 0.54.0-2 from Ubuntu.
PS According to my spell checker it should be parentheses.
The waveforms UI currently has two vertical sliders on the right. Here are some usability suggestions:
The menu item Video > Seek to Selection
sets the video player time from the selected subtitle.
I would much appreciate the reverse feature: go to the closest subtitle to the video player time. Maybe as a menu item in Video > Timing From Player > Select Subtitle
.
Thank you for your amazing software.
I've been looking for a tool that is able to set the line start when a key is pressed down and is the end of the line is set when the key is released.
I did talk with other people that work on subtitles and they found this idea very good because it would help to do a good fast "first pass".
In the "Configure Keyboard Shortcuts" screen i could set "Set Subtitle Start" and "Set Subtitle End And Go Next" to two neighboor keys and it worked very well.
But it could work better if all of it could be done with only one key.
The key down event could trigger "Set Subtitle Start" and the key up event would trigger "Set Subtitle End And Go Next". It would be perfect.
An alternate implementation could provide the same idea but clicking a button on the video panel.
But as I see the interface is pretty minimal and I would prefer use a keyboard shortcut.
Disclosure: I have filed a simmilar issue on Aegisub repo. I'm filing it here because I really don't know which project is still active and which is "abandoned".
Accurate timecodes make sense for in/out points, but not really for duration, which is too hard to parse quickly.
I posit that nobody does individual subtitles that are more than 60 seconds long (or even 10 seconds, most of the time). Therefore showing this in timecode form (such as "0:00:03.953") in the "Duration" column (and on the tooltip when dragging the in/out point) makes no sense.
It would be much easier to parse (and more elegant) if it was showing "3.953 secs" (or "3.953 seconds" if you want to be exhaustive) instead. If you're worried about 9 vs 10 seconds, right-align the column's text in the gtk listview. In the case of the waveform interactive tooltip, you could prefix that with "Duration:\n"
Trying to compile last version ( 8a21c6c from 2018-06-25 ) on Manjaro distro (kernel 4.15.18-3-MANJARO), I get the following error
checking for GTKMM... yes
checking for ENCHANT... no
configure: error: Package requirements (enchant >= 1.4.0) were not met:
Package 'enchant', required by 'virtual:world', not found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables ENCHANT_CFLAGS
and ENCHANT_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
I don't have *-dev
packages to install as in debian based distros, here are the packages I have available:
$ pacman -Ss enchant
extra/enchant 2.2.3-1 [installed]
A wrapper library for generic spell checking
extra/php-enchant 7.2.8-1
enchant module for PHP
community/python-gtkspellcheck 4.0.5-4
Spell-checking library written in Python for Gtk based on Enchant
community/python-pyenchant 2.0.0-2
PyEnchant is a spellchecking library for Python3 based on the Enchant library
community/python2-gtkspellcheck 4.0.5-4
Spell-checking library written in Python for Gtk based on Enchant
community/python2-pyenchant 2.0.0-2 [installed]
PyEnchant is a spellchecking library for Python2 based on the Enchant library
So pkg-config
would be looking for /usr/lib/pkgconfig/enchant.pc
when what I have is /usr/lib/pkgconfig/enchant-2.pc
.
I thought of making symlinks as a workaround, but it sounds a bit messy to me as there might be incompatibility between the major version numbers (I did not check).
Would it be possible to fix the dependency checking itself ? I'm more than rusty in C/CPP programming and don't know much about the autotools. Maybe something like manisandro/qtspell#3 would help ( commit 38df124 )
We are applying this patch in Gentoo for years without issues
Thanks
From 0f8700f022c9917336919b35a93883a660144516 Mon Sep 17 00:00:00 2001
From: Gilles Dartiguelongue <[email protected]>
Date: Mon, 17 Oct 2016 00:07:59 +0200
Subject: [PATCH] Fix compilation with --disable-nls
---
src/i18n.h | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/src/i18n.h b/src/i18n.h
index c8134a7..efce469 100644
--- a/src/i18n.h
+++ b/src/i18n.h
@@ -31,6 +31,17 @@
#include <libintl.h>
#include <glib/gi18n.h>
#else /* NLS is disabled */
+ // In certain environments, some standard headers like <iomanip>
+ // and <locale> include libintl.h. If libintl.h is included after
+ // gettext macros below are defined, it causes a syntax error
+ // at the declaration of the gettext function in libintl.h.
+ //
+ // Fix this by including such a header before defining the macro.
+ //
+ // Note that libintl.h cannot be included directly since in the
+ // ENABLE_NLS=0 case it cannot be assumed that gettext is installed.
+ #include <locale>
+
#define _(String) (String)
#define N_(String) (String)
#define textdomain(String) (String)
--
2.10.0
While adapting translations (sound dubbing and subtitles) made for an old DVD to a newer 3D TV rip I had to speed up the sound by 7 seconds throughout the movie. This made the dubbed sound fit well. However, I don't see the option to do the same with the subtitles. I need to shift all subtitles by a variable amount of time that would uniformly increase from 0 to 7,35 seconds towards the end.
Could you add such function if t is not already hiddden there?
Hi,
Just a suggestion. Could you please update the homepage url for the debian stretch (stable) package to http://kitone.github.io/subtitleeditor as the old url is not working anymore.
It will be appreciated by many people I would think.
Can't quite put my finger on it, but there's "something" that feels odd and disorienting when I'm inserting subtitles with the Insert key and the waveform scrolls at the exact same time, I have a hard time spotting where I was and where I am now, especially in relation to the playhead.
I'm thinking it might help if the timeline scrolls with a quick (100ms?) smooth scroll animation and THEN creates the subtitle's region "rectangle", so that you can see it appearing in a single independent "movement" rather than confounding it with the motion of the waveform?
file 2.srt
2.srt: UTF-8 Unicode text
Is not recognized. Screenshot Download
file 1.srt
1.srt: UTF-8 Unicode (with BOM) text, with CRLF, LF line terminators
Is recognized
file little.srt
little.srt: UTF-8 Unicode (with BOM) text, with CRLF line terminators
Recognized
file new.srt
new.srt: UTF-8 Unicode (with BOM) text, with CRLF line terminators
2.srt rewritten as new.srt with another subtitle editor
Nothing major, prefer this program over others available.
Timings > Move and Scale when in "Times" view (vs "Frames") until recently had editing time codes in H:M:S.F format, now they appear as a single large number unrecognisable as a timestamp (time_t?)
Switching to Frames mode works correctly.
I have v0.54.0 on 5.8.0-1.fc33.x86_64 #1 SMP Mon Aug 3 16:15:24 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
With this subtilte (very long word):
"Départ pour Schwarzbourg-Sonderhausen,
Schwarzbourg-Rudolstadt...
I have recently discovered the waveforms feature in the app and it is a little revolution. This makes everything so much easier, it's fantastic! It should be turned on by default in the UI and suggest generating the waveforms (#30) to highlight how essential this feature is.
However, there is no way to use it to shift or reorder subtitles, and I would like to be able to use some configurable mouse+keyboard combo to do this, because it's a bit annoying when there are long gaps in the dialog and you have to adjust both the in and out points of the new subtitle being added (short of having a "insert subtitle at playhead position" feature).
Furthermore, besides the simple "shifting" usecase, there's the "reordering" usecase. Imagine someone hands me a preliminary edit of a video to be subtitled, and then later on swaps the ordering of some scenes... I would want a way to be able to move subtitles around efficiently, ideally with a multiple selection of items and dragging them to "insert" them somewhere else (and have the other subtitles "ripple" to create space, then select the other ones and move them/realign them.
I also find myself fighting a bit with the default mouse behavior, which is:
...which causes me to constantly mess up my inpoints because I intuitively left-click to move the playhead (it didn't even occur to me until recently that it could be the middle mouse button actually). I kinda understand the logic between the playhead button being centered between the left and right buttons, but it still feels unnatural coming from a video editing background.
I know this is a bit of a melting-pot of multiple issues, but I'm not sure if it makes sense to file half a dozen tickets for that when they behavior all kinda ties together...
There should be a quick and easy way (i.e. hotkey, context menu) to jump to the start position of the currently selected subtitle in the video.
Hello team,
I am getting this error message when running make command but I do not know what it means
Makefile:971: recipe for target 'libsubtitleeditor_la-color.lo' failed
make[2]: *** [libsubtitleeditor_la-color.lo] Error 1
make[2]: Leaving directory '/home/gonzalo/Downloads/bin/subtitleeditor-master/src'
Makefile:467: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/gonzalo/Downloads/bin/subtitleeditor-master'
Makefile:398: recipe for target 'all' failed
make: *** [all] Error 2
gonzalo@linux-d3i9:~/Downloads/bin/subtitleeditor-master>
Please let me know if any solution is available,
Thank you,
Gonzalo,
What's the intended workflow when using the Translation view to translate subtitles?
I've only recently noticed the Save Translation menu option, but that opens the translated file immediately.
If I'm just going about a translation, what is a convenient way to save my progress and continue?
Meanwhile, I've lost some work by just saving the file and not the translation. Is there anywhere I could recover it from?
Thanks again for making the software, still using it happily!
Hello,
i have clicked the subtitle (is highlighted in green), i edit it, it is still green, and i click Play the video. After 1 minute of playback i want to adjust the subtitle at current playback time, but how to find it, i still see old subtitles from 1 minute back and I am unable to find the menu entry and keyboard shortcut that would do it.
There are two timecodes being shown, in/out point and duration. It would be nice to make it a bit clearer which is which, both as a learning mechanism for new users and as a quick visual cue otherwise.
The solution doesn't have to be overly complicated, thanks to the power of unicode, you could just prefix/append ⇤ ⇥ arrows (or the word "In-point:" / "Start:" or "Out-point:" / "End :" to the strings... for example
Subtitle Editor seems to have added the following entry to my ~/.local/share/recently-used.xbel
file:
<bookmark href="" added="2021-11-26T18:30:28.481200Z" modified="2021-11-26T18:30:28.481205Z" visited="2021-11-26T18:30:28.481201Z">
<desc></desc>
<info>
<metadata owner="http://freedesktop.org">
<mime:mime-type type=""/>
<bookmark:groups>
<bookmark:group>subtitleeditor-waveform</bookmark:group>
</bookmark:groups>
<bookmark:applications>
<bookmark:application name="subtitleeditor" exec="'subtitleeditor'" modified="2021-11-26T18:30:28.481203Z" count="1"/>
</bookmark:applications>
</metadata>
</info>
</bookmark>
The empty href
attribute doesn’t seem very useful, and can confuse other applications trying to parse the file. (Technically, the desktop-bookmark-spec says the href should be a URI, and I don’t think the empty string is a valid URI.)
Steps to reproduce:
The bookmark is added to the file as soon as you select the “generate waveform from video” step; you don’t actually need to save the waveform to a file in the following dialog.
Steps to reproduce:
File -> New
Edit -> "Insert After" so there is at least one subtitle.
Video -> Open.
Load a video file; which one doesn't matter.
View -> Waveform. (But don't load an actual waveform; leave it blank.)
Press play on the video file.
Click repeatedly on the blank waveform pane.
Get a segfault. (Sometimes it only takes a few seconds, sometimes it takes longer. Usually 30 mouse clicks is enough.)
This appears to occur because of the waveform duration calculation whenever the waveform is clicked.
Note that the waveform must be blank for this to occur; I have not observed a segfault when a waveform is loaded.
Attached are full stacktraces and Valgrind output.
Reproducible in subtitleeditor version 0.54.0-2 (Ubuntu 18.04) and latest git revision (4c215f4).
Some keyboard shortcuts have become a de facto standard in video players:
When not in editing mode, these keys should trigger the functions most people have come to expect, which would make editing a lot quicker.
Found an issue when trying to load a video through the program, I would get a "gstreamer plugin not found" error. Installed from apt and it appears that the dependencies are not set correctly. I am running Linux Mint 19.1 Cinnamon.
You need to manually install gstreamer1.0-libav
, as this is not automatically installed with apt.
hope this helps someone
cheers
I have loaded subtitles, video and waveform. When I start of video playing, it does nothing. Sometimes it works, but most of time not. Sometimes only first frame was played, mostly not. Icon change to "pause" andsubtitles on time is shown, but video is still stopped. When i click to "pause", icon will change to "play" and that is all.
Weird is that it sometimes work, sometimes not. It can change in minutes...
System is fully actualised Arch Linux. Version of subtitleeditor is latest.
Problem is for sure in combination of Gstreamer and PulseAudio. It generate such errors:
pulse pulsesink.c:716:gst_pulsering_stream_overflow_cb: Got overflow
When I stop PulseAudio daemon and use ALSA in subtitleeditor, it works like a charm.
The video player and waveforms area aren't as welcoming as they could be. They could have a bit of informative text and buttons like this, instead of just leaving the space empty:
|----------------------------------|------------------------------------------------|
| No video file specified. | No waveforms present.
| Drag-and-drop one here | Generate one from the video file
| or browse with the button below. | or load a previously generated one.
| |
| ( Open video file... ) | ( Generate waveforms... ) ( Open .wf file... )
Using the current version on Ubuntu 17.10 MATE environment. When I open the program, the window, the portion under the menu bar, is all transparent. But what will then happen, if I move the window, it retains what was under the window before I moved it. I hope that makes sense.
I have attached a screenshot to show an example as it is somewhat difficult for me to explain with confidence.
I get the following each time I start subtitleeditor on Debian -
(subtitleeditor:13386): Gtk-CRITICAL **: 06:01:23.505: gtk_widget_grab_default: assertion 'gtk_widget_get_can_default (widget)' failed
Package: subtitleeditor
Version: 0.54.0-3
Severity: normal
-- System Information:
Debian Release: buster/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable-debug'), (500, 'testing-debug'), (500, 'unstable'), (1, 'experimental-debug'), (1, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 4.18.0-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_IN, LC_CTYPE=en_IN (charmap=UTF-8), LANGUAGE=en_IN:en (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages subtitleeditor depends on:
ii gstreamer1.0-plugins-base 1.14.4-1
ii gstreamer1.0-plugins-good 1.14.4-1
ii gstreamer1.0-x 1.14.4-1
ii libatkmm-1.6-1v5 2.24.2-3
ii libc6 2.27-8
ii libcairomm-1.0-1v5 1.12.2-3
ii libgcc1 1:8.2.0-9
ii libglib2.0-0 2.58.1-2
ii libglibmm-2.4-1v5 2.58.0-1
ii libgstreamer-plugins-base1.0-0 1.14.4-1
ii libgstreamer1.0-0 1.14.4-1
ii libgstreamermm-1.0-1 1.10.0+dfsg-2
ii libgtk-3-0 3.24.1-2
ii libgtkmm-3.0-1v5 3.22.2-2
ii libpangomm-1.4-1v5 2.40.1-4
ii libsigc++-2.0-0v5 2.10.1-1
ii libstdc++6 8.2.0-9
ii libsubtitleeditor0 0.54.0-3
subtitleeditor recommends no packages.
Versions of packages subtitleeditor suggests:
ii gstreamer1.0-libav 1.15.0.1+git20180723+db823502-2
-- no debconf information
I found info on dependencies here. I think it’d be better to have a list of distribution commands.
The following command installs all dependencies on a Debian-like distribution (tested on Ubuntu 17.10)
sudo apt-get -yq install autoconf automake intltool gtkmm-3.0 enchant enchant libenchant-dev libxml++2.6-dev gstreamer1.0
# Note that `sudo apt-get install gtkmm-3.0` installed the following packages, but I think not all are required:
autopoint debhelper dh-autoreconf dh-strip-nondeterminism gtkmm-documentation icu-devtools libarchive-cpio-perl libatk-bridge2.0-dev libatk1.0-dev libatkmm-1.6-dev libatspi2.0-dev libcairo-script-interpreter2 libcairo2-dev libcairomm-1.0-dev libdbus-1-dev libdrm-dev libegl1-mesa-dev libepoxy-dev libfile-stripnondeterminism-perl libfontconfig1-dev libfreetype6-dev libgdk-pixbuf2.0-dev libglibmm-2.4-dev libglibmm-2.4-doc libgraphite2-dev libgtk-3-dev libharfbuzz-dev libharfbuzz-gobject0 libice-dev libicu-dev libltdl-dev libmail-sendmail-perl libmirclient-dev libmircommon-dev libmircookie-dev libmircookie2 libmircore-dev libpango1.0-dev libpangomm-1.4-dev libpixman-1-dev libprotobuf-dev libsigc++-2.0-dev libsm-dev libsys-hostname-long-perl libtool libwayland-bin libwayland-dev libx11-xcb-dev libxcb-dri2-0-dev libxcb-dri3-dev libxcb-glx0-dev libxcb-present-dev libxcb-randr0-dev libxcb-render0-dev libxcb-shape0-dev libxcb-shm0-dev libxcb-sync-dev libxcb-xfixes0-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxext-dev libxfixes-dev libxft-dev libxi-dev libxinerama-dev libxkbcommon-dev libxrandr-dev libxrender-dev libxshmfence-dev libxtst-dev libxxf86vm-dev po-debconf wayland-protocols x11proto-composite-dev x11proto-damage-dev x11proto-dri2-dev x11proto-fixes-dev x11proto-gl-dev x11proto-randr-dev x11proto-record-dev x11proto-render-dev x11proto-xext-dev x11proto-xf86vidmode-dev x11proto-xinerama-dev
# Note that `sudo apt-get install gstreamer1.0` installed the following packages, but I think not all are required:
freepats gdal-data gstreamer1.0-alsa gstreamer1.0-clutter-3.0 gstreamer1.0-crystalhd gstreamer1.0-doc gstreamer1.0-espeak gstreamer1.0-libav-dbg gstreamer1.0-omx-bellagio-config gstreamer1.0-omx-generic gstreamer1.0-omx-generic-config gstreamer1.0-packagekit gstreamer1.0-plugins-bad gstreamer1.0-plugins-bad-dbg gstreamer1.0-plugins-bad-doc gstreamer1.0-plugins-base-apps gstreamer1.0-plugins-base-dbg gstreamer1.0-plugins-base-doc gstreamer1.0-plugins-good-dbg gstreamer1.0-plugins-good-doc gstreamer1.0-plugins-ugly-dbg gstreamer1.0-plugins-ugly-doc gstreamer1.0-pocketsphinx gstreamer1.0-rtsp gstreamer1.0-rtsp-dbg gstreamer1.0-vaapi-doc libaec0 libarmadillo7 libarpack2 libdap25 libdapclient6v5 libde265-0 libepsilon1 libfabric1 libfreexl1 libfyba0 libgdal20 libgeos-3.5.1 libgeos-c1v5 libgeotiff2 libgl2ps1 libglib2.0-doc libgstreamer1.0-0-dbg libgstreamer1.0-dev libgstrtspserver-1.0-0 libhdf4-0-alt libhdf5-100 libhdf5-openmpi-100 libhwloc-plugins libhwloc5 libibverbs1 libkmlbase1 libkmldom1 libkmlengine1 liblilv-0-0 libminizip1 libmjpegutils-2.1-0 libmpeg2encpp-2.1-0 libmplex2-2.1-0 libnetcdf-c++4 libnetcdf11 libnl-route-3-200 libofa0 libogdi3.2 libopencv-calib3d3.1 libopencv-contrib3.1 libopencv-features2d3.1 libopencv-flann3.1 libopencv-highgui3.1 libopencv-imgcodecs3.1 libopencv-ml3.1 libopencv-objdetect3.1 libopencv-photo3.1 libopencv-shape3.1 libopencv-stitching3.1 libopencv-superres3.1 libopencv-video3.1 libopencv-videoio3.1 libopencv-videostab3.1 libopencv-viz3.1 libopenmpi2 libpocketsphinx3 libproj12 libpsm-infinipath1 libqhull7 librdmacm1 libsbc1 libserd-0-0 libsord-0-0 libsoundtouch1 libspandsp2 libspatialite7 libsphinxbase3 libsratom-0-0 libsrtp0 libsuperlu5 libsz2 liburiparser1 libvo-aacenc0 libvo-amrwbenc0 libvtk6.3 libvulkan1 libwildmidi-config libwildmidi2 libxerces-c3.1 libzbar0 odbcinst odbcinst1debian2 openmpi-bin openmpi-common proj-bin proj-data
Currently, middle-clicking somewhere in the waveform changes the position of the playhead, but you can't click-and-hold to "scrub" the playhead around back and forth, which would be useful. I find myself constantly having to go back one second, play, pause, etc. It would be much easier with scrubbing sometimes.
As a complement to this mouse binding, it might be nice to map shift+scrollwheel to scrubbing, as this might be easier than holding a mouswheel clicked down. Currently, shift+scroll adjusts the height of the waveforms, which I find to be useless 99% of the time (unlike horizontal zoom), it's not an adjustment I need to make often during an edit, and there's a vertical slider to control that anyway (some recommendations about zoom sliders in #28...).
Support for jog/shuttle video editing hardware devices would be icing on the cake, but that's kind of niche, I'm not sure many subtitle folks have these.
In case of multiple italic per line
the previous subtitle is displayed in the editor.
When the option to display characters per line (CPL) is turned on, the edit box for a subtitle is rendered below the subtitle, which looks confusing and ugly.
Steps to reproduce:
Observed result: The subtitle is duplicated just below, obscuring the next subtitle. Cursor is shown in the duplicated box (see attached image below)
Expected result: Cursor is placed inside the original subtitle for editing.
I had subtitles which was shifted by 1.5 minute. I found sentence in the foreign language in the movie which I was able to understand and the corresponding subtitle (which was somewhere in the middle of the movie) and observed that the shift is 1.5 minute. Then shifting all subtitles by the 1.5 minute was really pain. I had to map hotkey for the shift 100ms function. Then I had to repeatedly press the hotkey for cca. 10 minutes.
It would be great if there would be some dialog for arbitrary move, not just the 100 ms steps.
I would love a way to export subtitle as LRC.
hello could you detaing how to sed mpv or vlc by default please ?
Is it possible to add other languages to the spellchecker and how can I do that?
I see there's a maximum characters per line limit in the preferences. Where does this get applied?
Is there a view where I can have the number of characters highlighted if they are above the limit, just like the CPS column in the Timing view?
Thanks for the wonderful software and apologies if this is not the correct place to ask questions.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.