anime-skip / player

Monorepo for the Anime Skip Player (web extension & embedded video player)
GNU General Public License v3.0
12 stars 3 forks source link

V2 #264

Open aklinker1 opened 2 years ago

aklinker1 commented 2 years ago

Features

Along with sharing the player UI components with an embedded player, there are also some large, overarching issues with how the player works that I'd like to make to fix:

If you have other ideas, post a comment on this issue and I'll add it to the above list after discussion.

UI Changes

Here are the mockups for V2 of the player. The main change is that the popups and dialogs are now going to be in a single sidebar. Assuming I can get the video to scale properly to make room for that sidebar lol

Mockups ![Player](https://user-images.githubusercontent.com/10101283/186831553-ec25e1c9-9057-4186-86d2-f9e2bf80bb3c.png) ![Popup Settings](https://user-images.githubusercontent.com/10101283/186831558-059c8cf1-f740-4607-8f4d-86a0da36fdae.png) ![All Settings](https://user-images.githubusercontent.com/10101283/186831541-eeeefb34-09ed-4eaa-b0ab-e39f76e6b141.png) ![Login](https://user-images.githubusercontent.com/10101283/186831552-ae2551cd-eb68-4984-9658-db3a1d0116e9.png) ![Timestamps List](https://user-images.githubusercontent.com/10101283/186831562-b460b1aa-cc58-480e-8d7b-1f15d3a7d7a2.png) ![Edit Timestamp](https://user-images.githubusercontent.com/10101283/186831548-12f3a317-a26c-4e16-94a4-fffdd60f1778.png)

They don't contain all the small details, but they're good enough for me to get started. If you have any feedback on the UI changes, let me know!

lordesgar commented 2 years ago

Being able to type in the timestamp that you want to insert. Often a video has comments that tell you when recaps and openings begin and end, so you can add these timestamps before reaching these parts of the video. Right now you can only really add timestamps as you are watching, since skipping ahead to add them would mean spoiling yourself. Being able to type in the timestamps beforehand would mean that you can peacefully watch the video and correct the timings as you come across the sections that you have added.

I would REALLY like to have a template feature that works, since it would really make adding timestamps easier. I'm watching One Piece right now and it has so many timestamps that repeat predictably. I think that the current version of this feature is broken, though, since my templates arent being applied. There is an automatic template that seems to be added to episodes that have no timestamps in your database, which doesnt really work really well. I opened an issue about it, if you want to look. It would be better if no default template was applied to episodes that havent been connected yet, unless a user has added their own template. I'm assuming templates are user-specific and not shared by others?

aklinker1 commented 2 years ago

Often a video has comments that tell you when recaps and openings begin and end

Can you share a link to this? Rather than having to manually enter those, I'd rather the extension just finds them automatically.

Right now you can only really add timestamps as you are watching

I agree that that's an issue with the current player, you also can't change a type of a previous timestamp without going back to that time, which is pretty inconvenient. I'll add a feature for this :+1:

lordesgar commented 2 years ago

The skip times comments are an old tradition. Pretty much every episode on crunchyroll has them, but also other sites. But I think that it is difficult to trust these, because they are often a bit off and they are also subjective sometimes. Some people just post the time for the title card, ignoring that the recap may end before the title card. Sometimes some person is super thorough and writes all the timestamps in detail, but often people in the comment thread have to correct it. On crunchyroll, they added a 15 second Toei intro at some point, so timestamps posted before this are off by 15 seconds, which people complain about in the comments. You can really just check any one piece episode on crunchyroll for a timestamp comment, here is an example: https://beta.crunchyroll.com/watch/GY0970J9Y/the-man-who-is-loved-even-by-his-ship-usopps-tears ApCent_IG0iIQen2k

aklinker1 commented 2 years ago

@lordesgar Do you know if animixplay.to has changed domains in the past? Or has it always been that domain? There's extra work adding support if the domain changes often.

lordesgar commented 2 years ago

Here is some info about the site. It's definitely one of the best free streaming sites out there. https://animixplay.to/about.html I started using it in autumn 2021, I think, but it's always been animixplay.to since I started. I ran some google searches and it seems like it used to be animixplay.com before 2020, but it seems like it has been animixplay.to consistently since then.

aklinker1 commented 2 years ago

I've added some mock-ups of the UI changes for V2 to the issue description. LMK if any of you have feedback or thoughts. They contain most of the changes we've already discussed.

lordesgar commented 2 years ago

I've added some mock-ups of the UI changes for V2 to the issue description. LMK if any of you have feedback or thoughts. They contain most of the changes we've already discussed.

Yeah, that looks good. Though I think I prefer it when the side bar is somewhat smaller, like this. ApCent_Wmqm5dgbCc Makes it feel easier to edit the timings as you have it open, for some reason.

Edit: On a side note, every time you submit a timestamp, it auto-starts the video from that timestamp. I'm not sure if this is included in your timestamp editing section above, but it would be nice if this could be an option: to have it auto-start or not after submitting a timestamp.

Another thing that is somewhat relevant is autoplay of the video when you load the page on crunchyroll. It would be cool if the player had a setting for turning autoplay on or off (forcing it). Right now, for some reason, the crunchyroll toggle for autoplay doesnt work for me; it always autoplays, even when I block autoplay for the site in the firefox settings. I have one other extension for crunhyroll installed, "Improve Crunchyroll", which may be interfering, but it has no option for autoplay, from what I can tell. However, this feature is no big necessity, if it's too much of a hassle to implement. I use the beta site for crunchyroll, if that matters.

aklinker1 commented 2 years ago

Yeah, that looks good. Though I think I prefer it when the side bar is somewhat smaller, like this.

Yeah, I'll find an acceptable size when I actually implement it, it's a little wider than necessary in the mockups just so the video scaling is clearer.

On a side note, every time you submit a timestamp, it auto-starts the video from that timestamp. I'm not sure if this is included in your timestamp editing section above, but it would be nice if this could be an option: to have it auto-start or not after submitting a timestamp.

If you have the sync toggle on, it will pause and resume automatically, if you have the sync toggle off (editing at a different time from the player), it would not pause in the first place.

I can't think of another time that auto-resuming would not be wanted. If that doesn't cover what you're requesting, could I have an example of when you'd prefer not resuming?

It would be cool if the player had a setting for turning autoplay on or off (forcing it)

That was an original feature of the player, and the pref still exists on the API lol.

The problem was that the logic was really complex, trying to fight the service's autoplay logic and attribute (especially Funimation, they do some weird stuff). So I removed it in favor of respecting the service's behavior.

So I'll pass on that one for now.

lordesgar commented 2 years ago

@aklinker1 Yeah, I figured that the autoplay thing would be difficult. When you mention the sync toggle, you mean the one in your mockup, right? It's not some setting that I have missed?

But yes, that would fix my issue in part, if I've understood correctly. I would still like to be able to use J and L to move from frame to frame (and see them in the player), then, once I've found the right frame, submit that frame, but not have the player auto-start the video. That would allow me to seamlessly move to another timestamp that I want to add, without having to first pause the video. So in the image below, I would like the "Save" button to not start playing the video, even if I used the J and L buttons to find the right frame.

After submitting the frame for the preview, in this case, I would like to maybe immediately go back and edit or create another timestamp without having to pause the video myself. I would move the timeline to the right time, using either a hotkey or the mouse and then start editing in the same way, checking the frames using J and L.

I hope that made sense, I can clarify further with some images, if it would help.

ApCent_2DjxRiKIz6

aklinker1 commented 2 years ago

When you mention the sync toggle, you mean the one in your mockup, right? It's not some setting that I have missed?

Yup, thats new, you haven't missed anything.

that would fix my issue in part, if I've understood correctly. I would still like...

Ok, I see, you're thinking more from the perspective of editing timestamps while not watching the episode (like to review or do them ahead of time), rather than adding them as you watch the episode.

Hmmm... Rather than adding a new toggle or preference to disable auto-resume for this kind of workflow, what about only resuming if the video was playing before? That way if you pause, it won't play from the current time after saving the individual timestamp.

With the new sidebar, you'll always be taken to the timestamp list after editing a single timestamp, which I think you also mentioned would be ideal.

lordesgar commented 2 years ago

Hmmm... Rather than adding a new toggle or preference to disable auto-resume for this kind of workflow, what about only resuming if the video was playing before? That way if you pause, it won't play from the current time after saving the individual timestamp.

Yes, I think that this is a very good solution.

With the new sidebar, you'll always be taken to the timestamp list after editing a single timestamp, which I think you also mentioned would be ideal.

I think that it already does that? At least, if you're editing a timestamp (open the timestamp list -> select timestamp -> change it -> save -> shows timestamp list, but the video also starts playing). If you create a new timestamp (with the timestamp list closed), it doesnt show the timestamp list after saving it, which I think is fine.

Again, on a sidenote, I've found a new timestamp type that you may want to add at some point. It may add too much choice for the user, idk, it's up to you to decide, but some animes have Omake at the end of the episode. Often between the Credits and the Preview. A short and simple animation or gag, usually adapted from a comic at the end of a manga chapter. An example of this is the Petit Clover section at the end of most Black Clover episodes. This is also present in Naruto, I believe, though to a lesser extent. https://beta.crunchyroll.com/watch/GRX0D2W36/to-the-royal-capital-of-the-clover-kingdom You can see it here in episode 3 of Black Clover, at 23:00. This is after the credits and then, after the Omake, at 23:40, the preview starts

aklinker1 commented 2 years ago

I think that it already does that?

Haha you right

some animes have Omake at the end of the episode

So that's what that's called! I always just mark it as filler, but I think adding a separate type it makes sense!

aklinker1 commented 2 years ago

I think that it already does that?

Haha you right

some animes have Omake at the end of the episode

So that's what that's called. I always just mark it as filler, but I think adding a separate type it makes sense!

aklinker1 commented 2 years ago

Someone else also recommended a "trigger" timestamp type for flashing lights, rape scenes, or other potentially harmful scenes.

I like the idea, but it doesn't fit the standard model of timestamps, because it could be canon, filler, apart of the intro, etc. It's not its own "type" of timestamp, but a property of each of them.

There's a similar problem with canon vs filler that I've put off thinking about that one for years lol.

I don't think I'll be adding it for now. Most episodes contain warnings for that anyways.

lordesgar commented 2 years ago

I like the idea, but it doesn't fit the standard model of timestamps, because it could be canon, filler, apart of the intro, etc. It's not its own "type" of timestamp, but a property of each of them.

Absolutely agree. It's a good idea, but I feel like it falls outside the scope of timestamps. The only way I can think of implementing that is by adding the ability to mark an episode as containing such scenes, so you get a warning before you start watching the episode. Even this feels like it sort of goes beyond the scope of this extension. It lends itself easily to people over-using this setting, since everyone has different definitions for what is triggering and what isnt. It may be annoying to constantly have warnings pop up. It's best to keep it simple and skip this for now, imo. As you say, usually episodes contain warnings for this and most of the time, people know what kind of show they are getting into when they start watching it. It's relatively rare for these scenes to come out of nowhere, I think.

There's a similar problem with canon vs filler that I've put off thinking about that one for years lol.

I like these two types. I recently used the Filler type in One Piece episode 280, which is a recap episode that also includes some sorta canon scenes. This is actually part of a few episodes that viewers like, despite being recap episodes, because they recap some very key nostalgic scenes from over 200 episodes earlier. I felt like using the Filler type made more sense than Recap, since that's something usually associated with what you get at the beginning of a normal canon episode. So imo, the Filler type is defined broadly enough to use for a variety of things that are not canon, but may be useful for viewers to know about. Most people want to skip Recaps, but not everyone wants to skip Fillers, especially in shows like One Piece that do fillers well.

One Piece has a lot of small filler scenes interspersed within the canon episodes, but that would be far to tedious to mark out with this timestamp. However, it's good that the option is still there. I don't think that something like "Mixed Canon" is necessary, it would bloat the timestamp type list imo. So my approach is to simply use Filler for those episodes that are marked as filler, simply by replacing what I would normally mark as Canon with Filler. I think that this is a good approach that doesnt overcomplicate things. And those scenes that contain some filler, but are generally canon, I mark with Canon, since most people want to see those and they contain important info.

Making timestamps is sort of subjective though, I sometimes find myself adding a few recap seconds to the start of a Canon section and similarly with these Filler flashback scenes, since I may find that it may be a smoother experience for those who do choose to skip these things without super jarring skips. I assume that this extension will allow users to choose timestamps made by a specific user when you connect an episode?

  • Auto-connect episodes when saving timestamps for the first time

I see that you have auto-connecting episodes as a checkbox above. It may be useful for a user to be able to choose timestamps made by a specific user whose timestamp-setting they agree with for an entire series. So if episodes get auto-connected and there are multiple people who have made different timestamp choices, if a user chooses to follow only one of these people, the episodes for this series should prioritize using that timestamp-setter's timestamps. Perhaps you could even add profile pages that display which series a person has made timestamps for and how complete their "sets" of timestamps are for a series (how many episodes they have done this for). It could be a little like choosing a fan-translation group for manga, like you do on Mangadex, where you can select between different translators.

This could be a feature much farther down the road, but I think that this would make this extension into an amazing platform for something that I feel like anime has lacked but dearly needed for pretty much two decades now. Timestamps have been around for a while and so have skipping extensions, but you've never been able to choose from between different community driven submissions, you've always had pretty much one choice. I previously used Aniskip, which allows you to vote for timestamps, but it was buggy, limited and the voting aspect meant that timestamps would often change quite arbitrarily, since people have different approaches to how to set these timestamps. This extension, with its more elaborate system, is actually similar something I had in mind recently as I was struggling to set up timestamps for One Piece (which REALLY needs them compared to other shows) in Aniskip, so I was quite happy to see it being developed lol.