otsaloma / gaupol

Editor for text-based subtitle files
https://otsaloma.io/gaupol/
GNU General Public License v3.0
250 stars 35 forks source link

Gaupol freezes when loading audio file (loading video ok!) #153

Closed activityworkshop closed 3 years ago

activityworkshop commented 4 years ago

Short version: Gaupol can load a video file but freezes when loading an audio file. Perhaps I'm just missing a required package?

This is on Debian Buster with Gnome using these packages:

ii  gaupol                                1.5-1
ii  gstreamer1.0-gtk3:amd64               1.14.4-1

How to reproduce: Firstly get a valid video file (which Gaupol will be able to load ok), then convert this to mp3 (which Gaupol will fail to load properly):

wget https://download.blender.org/durian/trailer/sintel_trailer-480p.mp4 This gives a 4.2 MB video file looking like this:

sintel_trailer-480p.mp4: ISO Media, MP4 Base Media v1 [IS0 14496-12:2003]
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 854x480, 537 kb/s, 24 fps, 24 tbr, 24 tbn, 48 tbc (default)
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 126 kb/s (default)

VLC can of course play this video no problem. Start gaupol from the command line, "File -> New", "Video -> Load Video" and select the downloaded file "sintel_trailer-480p.mp4". Video starts playing immediately. Great. Close gaupol.

Convert this video file to mp3 using VLC's "Media -> Convert / Save", using the profile "Audio - MP3". This gives an 812 KB mp3 file "sintel_trailer.mp3". Again, VLC is able to play this mp3 audio file.

Start gaupol from the command line, "File -> New", "Video -> Load Video" and this time select the audio file "sintel_trailer.mp3". Gaupol appears to freeze, doesn't show video and doesn't respond to menu commands any more. "top" reports gaupol only using around 1% of CPU but the window doesn't respond. After some time a popup says "Gaupol is not responding" with two buttons, "Force Quit" or "Wait". Nothing is shown on the console apart from "Killed".

Workaround: Converting the audio to ogg or aac makes no difference, the only workaround I've found is to use ffmpeg to convert the mp3 back into a video file using a still image, and then gaupol is able to load the video as before.

otsaloma commented 4 years ago

Yes, the Load Video feature is designed to load video, not audio. Given the current implementation, supporting audio sounds hard – it's probably more convenient to just pack the audio in a video container with some dummy video stream.

What are you even doing? Do you not have video at all? If not, where are you going to display the subtitles? If yes, why would you make subtitles without seeing the video?

activityworkshop commented 4 years ago

No, I don't have video at all, I assumed that audio-only files could also have subtitles (selecting "All files" from the dropdown). I'm close to 100% sure that this worked fine when I did it with gaupol before, I just can't say which version it was, it was a different machine.

If it's not supposed to work any more, that's fine too I guess, I can use a still frame as a workaround, as I wrote earlier. But if that's the case then I'd suggest that a suitable error message ("incorrect file type" or something) would be better than a freeze if the user selects a file of an unsupported type.

otsaloma commented 4 years ago

I don't think audio files have ever worked, at least not intentionally. The "all files" option is for some obscure video formats that are not recognized as video, but will actually open, and also Windows, where the file type detection might not work at all.

You're right about the error message, I'll look into that at some point.

activityworkshop commented 4 years ago

OK, that's great, thanks a lot for the very quick reply! Feel free to close this issue then, or keep it open as a reminder for the error handling, as you wish. And thanks again for gaupol!