* Re: [FFmpeg-devel] Politics
@ 2021-12-20 13:48 Daniel Cantarín
0 siblings, 0 replies; 30+ messages in thread
From: Daniel Cantarín @ 2021-12-20 13:48 UTC (permalink / raw)
To: ffmpeg-devel
>
> The more the focus is moving to "a single frame" doesn't matter,
> the more will that conversation create the impression that my patchset
> would be lacking precision.
>
This is a possibility, indeed.
Yet, the less one answers, the more it also looks like the issue is dead
and/or some argument was the last word on the issue. Neither are the
case. Also, there's the constant claim of "you didn't listened to me";
not answering surely leads to that effect, and answering puts the burden
of proof to the people stating the hypothetical issue.
OTOH, people here could be very knowledgeable and experienced, thus
actually maybe being onto something. Debating fantasy scenarios could be
a chore and even a waste of time, but asking for proper input files is
not, and this gives the oportunity to deal with such possible tests.
No input files so far, of course, as I also do believe the
"frame-perfect serious issue" is simply not real: not any problem in
your code, not any real-life use case. We'll see if anyone brings such
real example, with files to test.
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [FFmpeg-devel] Politics @ 2021-12-20 16:27 Daniel Cantarín 0 siblings, 0 replies; 30+ messages in thread From: Daniel Cantarín @ 2021-12-20 16:27 UTC (permalink / raw) To: ffmpeg-devel > > I am not sure the direction from which you approuch this is going to > increase the chances this patch has. > Me neither. But I can barely talk about ffmpeg internals: they're huge, and I know the little bits I'm familiar with, having some experience with filters. So, whatever argument I may have come from use cases experience and not from ffmpeg internals knowledge. That's why I don't deny there may be issues with softworkz code. But I can say when the critics are presenting unreal use cases as some kind of proof of a problem. > > All stream types in libavformat/codec are timebase based, that was > done because its exact (for some definition of exact at least) > > I think you should argue why this is the best way forward not why its > not too bad > No, I don't think that's the case. I recognize what you say has ground. Thing is, what I do does too. It's not about it being "not too bad", but about it working were no other code is present, and nothing being broken by it. You may speak about ffmpeg internals, I speak about real life use cases, both are valid considerations. Your (and others) criticism against the patchset seems legit. However, softworkz has been dealing with such criticism from months now, he has been sustaining that what he did was neccessary, and suspiciously every single example against that seems to be unreal. So, softworkz may be wrong somehow, but the devs are clearly exaggerating about the supposed consequences of such wrongness. Why? Devs here are experts. Why would they need to exaggerate like this? I say something's fishy. I understand devs may have biases towards norms, standard or otherwise, but I find it hard to believe that somebody experienced in software development would not accept a patch if it adds use cases and doesn't break any previously implemented one, specially when the proper way to implement it was object of debate for a decade without anybody doing it. That's no small detail. And this patchset is no small feat. This is special, not norm. I'm doing tests from my side, by the way: it's not about "just approve it". I see the thing working, and I'm looking for problems when somebody say there's a problem. That's why I also discuss what I believe to be fantasy problems: I respect the devs claims, even if I don't believe in it. But this "frame-perfect serious problem" is clearly an exaggeration, and that says something about arguments against the patchset. Breaking something is the real issue here IMO, and not some clearly unachievable purity, whatever the reason of the unachievability. I pretend to intervene here with that logic in mind. If that doesn't help, so be it. In any case, devs biases will be there no matter what I say. So it's not really about me: it's about softworkz against the ffmpeg devs community. I just happen to want the use cases, and find this patchset working. > > also in a few places where a fixed timebase is used ffmpeg uses > AV_TIME_BASE_Q which is micro not milli seconds. That suddenly > allows exactly addressing individual frames and audio samples. > And it should be easy to change to from ms, its just a *1000 > it would weaken the precission argument > Then softworkz would most likely adapt the code. He doesn't seem to be reluctant to apply small modifications in order to be approved. Yet, again and again he claims it's not that easy, and we get back to unreal examples. This part I don't understand yet, as my time and knowledge are both limited. But, with time, I will; if the patch doesn't die, perhaps we'll find its way to be implemented. I just hope softworkz doesn't get burned. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [FFmpeg-devel] Politics
@ 2021-12-20 14:06 Daniel Cantarín
2021-12-20 15:23 ` Michael Niedermayer
0 siblings, 1 reply; 30+ messages in thread
From: Daniel Cantarín @ 2021-12-20 14:06 UTC (permalink / raw)
To: ffmpeg-devel
>
> consider a subtitle track
> consider 2 video tracks for US 30000/1001 fps and EU 25 fps
>
> the 6th frame in the US track is at 0.2002 sec, the 5th in the EU
> track at 0.2sec
>
>
> if these differ and you want a subtitle to either stop displaying after
> the
> earlier or begin displaying after the earlier reliably. Then you need a
> timebase that can represent points within each such close encounter of
> frame
> times.
>
So, this isn't a subtitle problem if subtitle timings are correct. You
let 0.2002 in the subtitle, players will decide the frame. You want to
match the frame with the content, then you transcode the video properly.
Am I losing something?
Then again, we're of course not discussing players. One may say "that's
not ffmpeg responsability", yet players are 90% of the time the main
reason we have to do any extra work with ffmpeg. If we discuss real
life scenarios, we should be discussing players.
I also fail to see why would somebody want a "frame-perfect" sync
between two videos with different FPS. That's absurd: there's no such
thing as "frame-perfect" in such scenarios. What you would want is video
timings to be honored. That is: FPS conversion to be faithful to video
timings and content. I can imagine such precision dealing with frames
being blurred and having to do lots of fine tuning in order to be able
to perceive a single frame off in subtitles. That would be the real
problematic situation, not any .0002 rounding.
So, I see your example as a case of "what would the player do with that
0.2002 rounding" (in which case, we all know there would be two
different subtitle files/streams with different precision for each
video if it's THAT important) instead of "we need to change the timebase
to something 4 decimals precise multiplier to both videos".
And even if this fails and a frame is interpreted incorrectly in the
player, good luck finding anyone saying anything about it: nobody cares
about a single frame when it's about subtitles. People watching
subtitles are simply not looking at that. This isn't speedrunning: it's
translating and transcribing. People wants to understand what's going on
in the screen, not debugging video frames.
So, I see no "serious subtitle problem" nor anything close to
"unnaceptable" here.
Let's remark, as softworkz say, this are all fantasy scenarios, and the
patchset doesn't show any real precision problem so far. If anyone is
willing to share input files to test such possible precision problems,
I'm willing to do the tests. No such files so far.
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [FFmpeg-devel] Politics 2021-12-20 14:06 Daniel Cantarín @ 2021-12-20 15:23 ` Michael Niedermayer 2021-12-22 13:29 ` Soft Works 0 siblings, 1 reply; 30+ messages in thread From: Michael Niedermayer @ 2021-12-20 15:23 UTC (permalink / raw) To: FFmpeg development discussions and patches [-- Attachment #1.1: Type: text/plain, Size: 3743 bytes --] On Mon, Dec 20, 2021 at 11:06:44AM -0300, Daniel Cantarín wrote: > > > > > consider a subtitle track > > consider 2 video tracks for US 30000/1001 fps and EU 25 fps > > > > the 6th frame in the US track is at 0.2002 sec, the 5th in the EU track > > at 0.2sec > > > > > > if these differ and you want a subtitle to either stop displaying after > > the > > earlier or begin displaying after the earlier reliably. Then you need a > > timebase that can represent points within each such close encounter of > > frame > > times. > > > > So, this isn't a subtitle problem if subtitle timings are correct. You > let 0.2002 in the subtitle, players will decide the frame. You want to > match the frame with the content, then you transcode the video properly. > Am I losing something? > > Then again, we're of course not discussing players. One may say "that's > not ffmpeg responsability", yet players are 90% of the time the main > reason we have to do any extra work with ffmpeg. If we discuss real > life scenarios, we should be discussing players. > > I also fail to see why would somebody want a "frame-perfect" sync > between two videos with different FPS. That's absurd: there's no such > thing as "frame-perfect" in such scenarios. What you would want is video > timings to be honored. That is: FPS conversion to be faithful to video > timings and content. I can imagine such precision dealing with frames > being blurred and having to do lots of fine tuning in order to be able > to perceive a single frame off in subtitles. That would be the real > problematic situation, not any .0002 rounding. > > So, I see your example as a case of "what would the player do with that > 0.2002 rounding" (in which case, we all know there would be two > different subtitle files/streams with different precision for each > video if it's THAT important) instead of "we need to change the timebase > to something 4 decimals precise multiplier to both videos". > > And even if this fails and a frame is interpreted incorrectly in the > player, good luck finding anyone saying anything about it: nobody cares > about a single frame when it's about subtitles. People watching > subtitles are simply not looking at that. This isn't speedrunning: it's > translating and transcribing. People wants to understand what's going on > in the screen, not debugging video frames. > > So, I see no "serious subtitle problem" nor anything close to > "unnaceptable" here. > > Let's remark, as softworkz say, this are all fantasy scenarios, and the > patchset doesn't show any real precision problem so far. If anyone is > willing to share input files to test such possible precision problems, > I'm willing to do the tests. No such files so far. I am not sure the direction from which you approuch this is going to increase the chances this patch has. All stream types in libavformat/codec are timebase based, that was done because its exact (for some definition of exact at least) I think you should argue why this is the best way forward not why its not too bad also in a few places where a fixed timebase is used ffmpeg uses AV_TIME_BASE_Q which is micro not milli seconds. That suddenly allows exactly addressing individual frames and audio samples. And it should be easy to change to from ms, its just a *1000 it would weaken the precission argument thx [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB The day soldiers stop bringing you their problems is the day you have stopped leading them. They have either lost confidence that you can help or concluded you do not care. Either case is a failure of leadership. - Colin Powell [-- Attachment #1.2: signature.asc --] [-- Type: application/pgp-signature, Size: 195 bytes --] [-- Attachment #2: Type: text/plain, Size: 251 bytes --] _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [FFmpeg-devel] Politics 2021-12-20 15:23 ` Michael Niedermayer @ 2021-12-22 13:29 ` Soft Works 2021-12-22 19:54 ` Michael Niedermayer 0 siblings, 1 reply; 30+ messages in thread From: Soft Works @ 2021-12-22 13:29 UTC (permalink / raw) To: FFmpeg development discussions and patches > -----Original Message----- > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Michael > Niedermayer > Sent: Monday, December 20, 2021 4:24 PM > To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> > Subject: Re: [FFmpeg-devel] Politics > > I am not sure the direction from which you approuch this is going to > increase the chances this patch has. > > All stream types in libavformat/codec are timebase based, that was > done because its exact (for some definition of exact at least) > > I think you should argue why this is the best way forward not why its > not too bad > > also in a few places where a fixed timebase is used ffmpeg uses > AV_TIME_BASE_Q which is micro not milli seconds. That suddenly > allows exactly addressing individual frames and audio samples. > And it should be easy to change to from ms, its just a *1000 > it would weaken the precission argument For the final chapter of this story, let us return to the original subject which I would summarize like: "Even though the whole world is fine using millisecond precision for subtitle display, I think I know better and therefore insist on having a higher precision and/or flexible timebase for subtitle timings, otherwise I won't accept the patchset" I have been waiting for a while to answer, expecting somebody might come to realize himself how useless this whole idea actually is, but I guess it's time to reveal: Let's look at the concern first: The concern is about that with a subtitle precision of milliseconds (let's say milli, even though we actually have microseconds), it would not be possible to make sure that a subtitle event would be shown exactly at a specific video frame. The claim is: This could be achieved by having a high precision (and/or a custom time base) for subtitle timings, because this would allow to have subtitle start times that could exactly match the frame display time of the frame at which a subtitle should be initially displayed. For a moment let's put aside the argument about subtitle format precision. Let's assume we'd have a subtitle format that allows such precisions and maybe even custom time bases and let's assume a player that can handle this. Now we look at the player and a situation where the player needs to display frame N. At this point, a range of different things can happen, mostly specific to the implementation of the player: Whether it reads a frame's time value or infers it from the frame rate or which time base a player is using internally, just to name a few examples. And then - at a total different place of implementation in the player (could be custom, or a library like libass), the player needs to determine whether a (and which) subtitle needs to be displayed over frame N. Here, we have the frame time, which has undergone a number of calculations and we have a subtitle event with our super- precise subtitle start time. The player converts that to its internal time base, and then.. ..how does the player determine whether the subtitle event should be shown on frame N? Does it check like: frame.pts == subtitle.pts? No, it doesn't! It does something like: frame.pts > subtitle.pts && frame.pts < subtitle.end_pts ..because it also needs to display all subtitle events that are already visible. Let's look again at the proposal: to use high precision subtitle timings which would allow us to have subtitle start times that are as close as possible (or even equal) to the video frame time. Now what a surprise: having-frame-equal subtitle start-times wouldn't make it _more_ clear at which video frame the subtitle should be shown - it would make it more and more _unclear_ and non-deterministic whether it should be shown at that frame or the next! Eventually, the final presentation would depend on: client implementation details and rounding errors, which means the opposite of consistent, reliable or predictable. The closer and more precise a subtitle start time would be set to a frame's display time, the higher the chance that it would be shown at the wrong time (due to the >/< tests that clients need to perform. Everybody who is creating computer animations and who wants to achieve sudden changes from one frame to another knows, that this change needs to be authored in a way that it happens in the timely middle between two frames (to make it safe against slight adjustments, rescaling, etc.) And the same goes for subtitle authoring: When you want to make sure that a subtitle is shown at frame N+1 but not at frame N, then you set the subtitle start time to a time half-way between N and N+1. And this doesn't require high-precision timing values nor custom time bases and it's also stable against calculations and rounding errors that might occur during processing. My wish for the future would be criticism that isn't based on mind-farts or unrealistic hypothetical cases, but actual problems, ideally accompanied by an example to demonstrate. Kind regards, softworkz _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [FFmpeg-devel] Politics 2021-12-22 13:29 ` Soft Works @ 2021-12-22 19:54 ` Michael Niedermayer 2021-12-22 20:17 ` Soft Works 0 siblings, 1 reply; 30+ messages in thread From: Michael Niedermayer @ 2021-12-22 19:54 UTC (permalink / raw) To: FFmpeg development discussions and patches [-- Attachment #1.1: Type: text/plain, Size: 2829 bytes --] On Wed, Dec 22, 2021 at 01:29:04PM +0000, Soft Works wrote: > > > > -----Original Message----- > > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Michael > > Niedermayer > > Sent: Monday, December 20, 2021 4:24 PM > > To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> > > Subject: Re: [FFmpeg-devel] Politics > > > > I am not sure the direction from which you approuch this is going to > > increase the chances this patch has. > > > > All stream types in libavformat/codec are timebase based, that was > > done because its exact (for some definition of exact at least) > > > > I think you should argue why this is the best way forward not why its > > not too bad > > > > also in a few places where a fixed timebase is used ffmpeg uses > > AV_TIME_BASE_Q which is micro not milli seconds. That suddenly > > allows exactly addressing individual frames and audio samples. > > And it should be easy to change to from ms, its just a *1000 > > it would weaken the precission argument > > For the final chapter of this story, let us return to the original > subject which I would summarize like: > [...] > I think I know better and therefore insist > on having a higher precision and/or flexible timebase for subtitle > timings, otherwise I won't accept the patchset" I didnt say any of this what is the case is that FFmpeg tries to use flexible timebases for everything. And also we try to be exact I have said nothing about accepting or rejecting this patchset, nor have i really made my mind up on how i would vote if it comes to a vote. What i have made my mind up on is that if someone replaces these timestamps with higher precission or exact ones i would support it. Also i do want someone to work on and improve subtitles in FFmpeg. iam not your oponent here. I do want you to stay and continue to contribute. But the area you picked certainly is one where people have strong oppinions and its a big change as well. I would suggest to keep a cool head and not give up yet. Find out exatly what the people who objected want and if you can find some compromise that makes everyone ok with it > > Let's look at the concern first: The concern is about that with > a subtitle precision of milliseconds (let's say milli, even > though we actually have microseconds), it would not be possible Not sure i understand you but the code you add to AVFrame says "ms" and thats milli not micro, the prefix for micro is the SI system is μ or u if you want ASCII [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB In fact, the RIAA has been known to suggest that students drop out of college or go to community college in order to be able to afford settlements. -- The RIAA [-- Attachment #1.2: signature.asc --] [-- Type: application/pgp-signature, Size: 195 bytes --] [-- Attachment #2: Type: text/plain, Size: 251 bytes --] _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [FFmpeg-devel] Politics 2021-12-22 19:54 ` Michael Niedermayer @ 2021-12-22 20:17 ` Soft Works 0 siblings, 0 replies; 30+ messages in thread From: Soft Works @ 2021-12-22 20:17 UTC (permalink / raw) To: FFmpeg development discussions and patches > -----Original Message----- > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Michael > Niedermayer > Sent: Wednesday, December 22, 2021 8:54 PM > To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> > Subject: Re: [FFmpeg-devel] Politics > > On Wed, Dec 22, 2021 at 01:29:04PM +0000, Soft Works wrote: > > > > > > > -----Original Message----- > > > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Michael > > > Niedermayer > > > Sent: Monday, December 20, 2021 4:24 PM > > > To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> > > > Subject: Re: [FFmpeg-devel] Politics > > > > > > I am not sure the direction from which you approuch this is going to > > > increase the chances this patch has. > > > > > > All stream types in libavformat/codec are timebase based, that was > > > done because its exact (for some definition of exact at least) > > > > > > I think you should argue why this is the best way forward not why its > > > not too bad > > > > > > also in a few places where a fixed timebase is used ffmpeg uses > > > AV_TIME_BASE_Q which is micro not milli seconds. That suddenly > > > allows exactly addressing individual frames and audio samples. > > > And it should be easy to change to from ms, its just a *1000 > > > it would weaken the precission argument > > > > For the final chapter of this story, let us return to the original > > subject which I would summarize like: > > > > [...] > > > I think I know better and therefore insist > > on having a higher precision and/or flexible timebase for subtitle > > timings, otherwise I won't accept the patchset" > > I didnt say any of this And you weren't meant at all. (you're actually one of the persons I'm respecting the most) Sorry for the misunderstanding. I should have replied to one of the earlier messages. I thought the fictional quote would make it clear who is meant. > > Let's look at the concern first: The concern is about that with > > a subtitle precision of milliseconds (let's say milli, even > > though we actually have microseconds), it would not be possible > > Not sure i understand you but the code you add to AVFrame says "ms" and > thats milli not micro, > the prefix for micro is the SI system is μ or u if you want ASCII subtitle_pts is AV_TIMEBASE_Q. I had recently suggested to change the other fields (subtitle_start_time and subtitle_end_time to AV_TIMEBASE_Q as well, to have all subtitle timing fields at the same base. Kind regards, softworkz _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 30+ messages in thread
[parent not found: <8dbfd345-c661-459e-b242-94830107eae3@www.fastmail.com>]
[parent not found: <DM8P223MB0365510C72E8CFEF027FF97FBA749@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM>]
[parent not found: <MqpKkF_--7-2@lynne.ee>]
[parent not found: <DM8P223MB0365FEDCCEFB370D20979CF5BA749@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM>]
[parent not found: <c2f7048d-a1b6-253e-8a50-7fdf9a34ada3@canta.com.ar>]
[parent not found: <DM8P223MB036596CACBB6509CB1AE78CBBA759@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM>]
[parent not found: <CAPYw7P64=axtAC0-8Ux+1d+f8WEseuWk9OkhmbAnNWp-eRpq8A@mail.gmail.com>]
* Re: [FFmpeg-devel] Politics [not found] ` <CAPYw7P64=axtAC0-8Ux+1d+f8WEseuWk9OkhmbAnNWp-eRpq8A@mail.gmail.com> @ 2021-12-15 13:34 ` Soft Works 2021-12-18 10:26 ` Paul B Mahol 0 siblings, 1 reply; 30+ messages in thread From: Soft Works @ 2021-12-15 13:34 UTC (permalink / raw) To: FFmpeg development discussions and patches > -----Original Message----- > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Paul B > Mahol > Sent: Wednesday, December 15, 2021 10:34 AM > To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> > Subject: Re: [FFmpeg-devel] Politics > > On Tue, Dec 14, 2021 at 5:00 AM Soft Works <softworkz@hotmail.com> wrote: > > > > > > > > -----Original Message----- > > > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Daniel > > > Cantarín > > > Sent: Tuesday, December 14, 2021 4:05 AM > > > To: ffmpeg-devel@ffmpeg.org > > > Subject: Re: [FFmpeg-devel] Politics > > > > > > > > > > > > > > As mentioned already, I have an offer to make. It might not be exactly > > > > what you want, but it's all you can get. > > > > > > > > Everybody will need to make up his mind and decide whether the > > benefits > > > > will outweigh the drawback from one's own point of view - or not. > > > > > > > > > > > > > I don't feel I have a voice here in the same way other devs do: I don't > > > even have a week here, it would be a joke speaking as if I were at the > > > same level that people with 10+ years of experience in the community. > > > So let me be clear: I'm not at the same level, my words can't be valued > > > the same as other people here. > > > > > > Also, I'm very doubtful of how to express myself here, because when I > > > naively tried to intervene in the patch debate I later felt all I > > achieved > > > was to ignite old grudges between very tired people that was dealing > > > with this patch for months. For moments, I feel I should just shut my > > > mouth and let the thing be, without kinda embarrasing myself and > > > unintendly triggering others. It's very awkward and sad. > > > > > > Yet, I believe I can note some common sense and experience points > > > from my perspective, even without being sure about its value. My > > > hope is to note something perhaps other people does not realize. > > > I've done it before, but I see other devs involved in this thread, and > > > so I believe doing it again is in order. Specially if this thread is the > > > final frontier between accepting or rejecting the patch. So, it's just a > > > testimony from my experience, to be noted in the thread. > > > > > > I absolutelly love the use cases implemented by this patch. It's been > > > years since there's people wanting this, me included, and specially > > > the live streaming people will benefit a lot from it. > > > > > > Live streaming has problems that file handling does not. Timings are a > > > curse, you can't probe just like that so your setup needs always extra > > > parameters and filters, there's no start and finish in the same sense > > > as it happens with files, there's the sparseness problem (which is a big > > > deal for filters), and so on. Yet, so often people evaluate live > > streaming > > > problems with a file mindset, that most of the time this problems are > > > understood as some kind of "border cases" with no merit for "a hack"; > > > where that hack is usually "something I can do right now without > > > breaking anything else". > > > > > > All of this stuff can be done using other tools when it comes to files. > > > But real time? Live? Forget it: that's another deal, and this patch does > > > the job. And not only that: I've tested it, and it works amazingly well. > > > It's much better than what I ever had expected to find. I was looking > > > for useful bits and pieces of code, ideas even, that I could use to > > > solve live streaming problems. What I've found feels the same as > > > when any of us found ffmpeg for the first time when looking for a > > > tool: "this is amazing, it does everything!" > > > > > > Of course, this does not means an even more deep refactor isn't > > > actually needed. However, we live streaming people keep waiting for > > > that use cases for years (there can be found discussions a decade > > > old), while the "proper way to do it" never happens. > > > > > > That sounds rude to the people involved. But my intention is not to be > > > rude, but to express how it feels to be on the other side of the > > > development cycle. I said one day "I'll do it myself", then I found the > > > thing beyond me: I don't have the time to do all that work, to learn all > > > that knowledge and articulate it in a way other people with much > > > more knowledge than I have could accept. It's a lot. And I believe I > > > can speak for lots of us when I say to have keeped our code private > > > knowing it will never be accepted mainline as it is, because it does > > > not refactors ffmpeg or libavfilter and just solves something quickly. > > > > > > softworkz is now clearly tired of this patchset, and so are the devs > > > discussing it with him. When I didn't knew that this thing had been > > > going on for six months, I was hoping to be able to somehow get in > > > the middle of the debate and try to unblock it. I was hoping to help > > > coding here and there, testing this and that, comparing ideas... > > > I was actually beginning to analize the code, in order to see if I was > > > able to remove the controversial subtitle_pts property. I realize now > > > I was sadly too late to the party. > > > > > > Yet, here we are, with code that actually do the job, and even > > > performs pretty well. > > > > > > With all this in mind, here are my feelings about this: > > > > > > - I could not care less about subtitle_pts. I know it's questionable, > > > but screw it: its also questionable to wait for years with live > > > streams problems as some kind of second class citizens. This > > > property and all around this patchset (the good and the bad) are > > > but accidents of the project's history, and those will keep on > > > happening no matter what. We CAN fix subtitle_pts later, > > > without having to wait forever for the concensual > > > implementation in order to have the use cases implemented. > > > That's not a crime: not against "good programing", and neither > > > against ffmpeg. > > > > > > - I don't think subtitle_pts is the real problem here. I think there > > > are grudges between devs, and things going on I don't fully > > > understand. Sadly, as I have no more time to participate in > > > this development (given that everybody's tired, and a call for > > > a vote seems imminent), I can't also read the 6 months of > > > debates to gain a better understanding before expressing > > > an opinion. Sorry devs, you deserve better than this > > > ignorance of mine. Perhaps somebody could make a list of > > > relevant links to discussions before the vote? > > > > > > - I'm more worried about not breaking anything. I saw some > > > notes from Mr. Niedermayer, and could reproduce myself some > > > problems. However, softworkz seems to be willing to fix that > > > kind of issues, so doesn't seem to be a big deal. I see he > > > actually posted a new version of his patchset minutes ago, > > > so that's great. The point is, I would find this kind of things > > > actually blockers, and not subtitle_pts. > > > > > > - If this patchset get rejected, I believe a proper consensual > > > design is in order. Consensual between the relevant devs, > > > of course. But so far, I don't see it linked in the debates. > > > Most likely it is somewhere and I just didn't saw it. But my > > > point is that rejecting this kind of works should be done > > > with a proper explanation, and the acceptable design > > > should be part of that explanation. With that guidelines, > > > perhaps others like me could progressively implement the > > > thing. But, to be honest, rejecting this without a clear and > > > consise designs counterpart (and not only sparse ideas, as > > > we all have some of those), would be frankly rude to both > > > the people who did the job and the people who wants the > > > use cases: because this works, and it's right here. > > > > > > - I would also note that perhaps tiredness would be solved > > > by resting, and not either by an ultimatum or a complete > > > dismissal of the propossal. I would be very happy to > > > collaborate (as I could, which I fear may not be much) if > > > you people happen to just find the energy to take a look > > > at the thing again without so much... err... "painful > > > exchanges" (I speak spanish, sorry, my english is limited). > > > Finally having this use cases should be something to > > > celebrate, and not something depressing. I know, this is > > > some kinda hippie thinking of mine. But I feel it's worth > > > the note anyways. > > > > > > > > > Just my 2 cents. > > > Thanks, > > > Daniel. > > > > Hi Daniel, > > > > thanks for your comments. I basically think that others should > > respond to this, but I'd like to add a few remarks. > > > > Once for the facts: the subtitle_pts field in AVFrame exists since > > V5 of my patchset, which I have submitted on 2021-09-12. > > This has been 3 months ago. Nobody had objected its existence > > until only 2 or 3 weeks ago. > > > This is really irrelevant, please stop insisting on hacks like subtitle_pts. New idea: I could remove the three fields (subtitle_pts, subtitle_start_time, subtitle_end_time) from AVFrame and add it to AVSubtitleArea. How about that? It would allow the frame to be "clean" at least. sw _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [FFmpeg-devel] Politics 2021-12-15 13:34 ` Soft Works @ 2021-12-18 10:26 ` Paul B Mahol 2021-12-18 11:34 ` Soft Works 0 siblings, 1 reply; 30+ messages in thread From: Paul B Mahol @ 2021-12-18 10:26 UTC (permalink / raw) To: FFmpeg development discussions and patches On Wed, Dec 15, 2021 at 2:34 PM Soft Works <softworkz@hotmail.com> wrote: > > > > -----Original Message----- > > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Paul B > > Mahol > > Sent: Wednesday, December 15, 2021 10:34 AM > > To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> > > Subject: Re: [FFmpeg-devel] Politics > > > > On Tue, Dec 14, 2021 at 5:00 AM Soft Works <softworkz@hotmail.com> > wrote: > > > > > > > > > > > > -----Original Message----- > > > > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of > Daniel > > > > Cantarín > > > > Sent: Tuesday, December 14, 2021 4:05 AM > > > > To: ffmpeg-devel@ffmpeg.org > > > > Subject: Re: [FFmpeg-devel] Politics > > > > > > > > > > > > > > > > > > As mentioned already, I have an offer to make. It might not be > exactly > > > > > what you want, but it's all you can get. > > > > > > > > > > Everybody will need to make up his mind and decide whether the > > > benefits > > > > > will outweigh the drawback from one's own point of view - or not. > > > > > > > > > > > > > > > > > I don't feel I have a voice here in the same way other devs do: I > don't > > > > even have a week here, it would be a joke speaking as if I were at > the > > > > same level that people with 10+ years of experience in the community. > > > > So let me be clear: I'm not at the same level, my words can't be > valued > > > > the same as other people here. > > > > > > > > Also, I'm very doubtful of how to express myself here, because when I > > > > naively tried to intervene in the patch debate I later felt all I > > > achieved > > > > was to ignite old grudges between very tired people that was dealing > > > > with this patch for months. For moments, I feel I should just shut my > > > > mouth and let the thing be, without kinda embarrasing myself and > > > > unintendly triggering others. It's very awkward and sad. > > > > > > > > Yet, I believe I can note some common sense and experience points > > > > from my perspective, even without being sure about its value. My > > > > hope is to note something perhaps other people does not realize. > > > > I've done it before, but I see other devs involved in this thread, > and > > > > so I believe doing it again is in order. Specially if this thread is > the > > > > final frontier between accepting or rejecting the patch. So, it's > just a > > > > testimony from my experience, to be noted in the thread. > > > > > > > > I absolutelly love the use cases implemented by this patch. It's been > > > > years since there's people wanting this, me included, and specially > > > > the live streaming people will benefit a lot from it. > > > > > > > > Live streaming has problems that file handling does not. Timings are > a > > > > curse, you can't probe just like that so your setup needs always > extra > > > > parameters and filters, there's no start and finish in the same sense > > > > as it happens with files, there's the sparseness problem (which is a > big > > > > deal for filters), and so on. Yet, so often people evaluate live > > > streaming > > > > problems with a file mindset, that most of the time this problems are > > > > understood as some kind of "border cases" with no merit for "a hack"; > > > > where that hack is usually "something I can do right now without > > > > breaking anything else". > > > > > > > > All of this stuff can be done using other tools when it comes to > files. > > > > But real time? Live? Forget it: that's another deal, and this patch > does > > > > the job. And not only that: I've tested it, and it works amazingly > well. > > > > It's much better than what I ever had expected to find. I was looking > > > > for useful bits and pieces of code, ideas even, that I could use to > > > > solve live streaming problems. What I've found feels the same as > > > > when any of us found ffmpeg for the first time when looking for a > > > > tool: "this is amazing, it does everything!" > > > > > > > > Of course, this does not means an even more deep refactor isn't > > > > actually needed. However, we live streaming people keep waiting for > > > > that use cases for years (there can be found discussions a decade > > > > old), while the "proper way to do it" never happens. > > > > > > > > That sounds rude to the people involved. But my intention is not to > be > > > > rude, but to express how it feels to be on the other side of the > > > > development cycle. I said one day "I'll do it myself", then I found > the > > > > thing beyond me: I don't have the time to do all that work, to learn > all > > > > that knowledge and articulate it in a way other people with much > > > > more knowledge than I have could accept. It's a lot. And I believe I > > > > can speak for lots of us when I say to have keeped our code private > > > > knowing it will never be accepted mainline as it is, because it does > > > > not refactors ffmpeg or libavfilter and just solves something > quickly. > > > > > > > > softworkz is now clearly tired of this patchset, and so are the devs > > > > discussing it with him. When I didn't knew that this thing had been > > > > going on for six months, I was hoping to be able to somehow get in > > > > the middle of the debate and try to unblock it. I was hoping to help > > > > coding here and there, testing this and that, comparing ideas... > > > > I was actually beginning to analize the code, in order to see if I > was > > > > able to remove the controversial subtitle_pts property. I realize now > > > > I was sadly too late to the party. > > > > > > > > Yet, here we are, with code that actually do the job, and even > > > > performs pretty well. > > > > > > > > With all this in mind, here are my feelings about this: > > > > > > > > - I could not care less about subtitle_pts. I know it's > questionable, > > > > but screw it: its also questionable to wait for years with live > > > > streams problems as some kind of second class citizens. This > > > > property and all around this patchset (the good and the bad) are > > > > but accidents of the project's history, and those will keep on > > > > happening no matter what. We CAN fix subtitle_pts later, > > > > without having to wait forever for the concensual > > > > implementation in order to have the use cases implemented. > > > > That's not a crime: not against "good programing", and neither > > > > against ffmpeg. > > > > > > > > - I don't think subtitle_pts is the real problem here. I think > there > > > > are grudges between devs, and things going on I don't fully > > > > understand. Sadly, as I have no more time to participate in > > > > this development (given that everybody's tired, and a call for > > > > a vote seems imminent), I can't also read the 6 months of > > > > debates to gain a better understanding before expressing > > > > an opinion. Sorry devs, you deserve better than this > > > > ignorance of mine. Perhaps somebody could make a list of > > > > relevant links to discussions before the vote? > > > > > > > > - I'm more worried about not breaking anything. I saw some > > > > notes from Mr. Niedermayer, and could reproduce myself some > > > > problems. However, softworkz seems to be willing to fix that > > > > kind of issues, so doesn't seem to be a big deal. I see he > > > > actually posted a new version of his patchset minutes ago, > > > > so that's great. The point is, I would find this kind of things > > > > actually blockers, and not subtitle_pts. > > > > > > > > - If this patchset get rejected, I believe a proper consensual > > > > design is in order. Consensual between the relevant devs, > > > > of course. But so far, I don't see it linked in the debates. > > > > Most likely it is somewhere and I just didn't saw it. But my > > > > point is that rejecting this kind of works should be done > > > > with a proper explanation, and the acceptable design > > > > should be part of that explanation. With that guidelines, > > > > perhaps others like me could progressively implement the > > > > thing. But, to be honest, rejecting this without a clear and > > > > consise designs counterpart (and not only sparse ideas, as > > > > we all have some of those), would be frankly rude to both > > > > the people who did the job and the people who wants the > > > > use cases: because this works, and it's right here. > > > > > > > > - I would also note that perhaps tiredness would be solved > > > > by resting, and not either by an ultimatum or a complete > > > > dismissal of the propossal. I would be very happy to > > > > collaborate (as I could, which I fear may not be much) if > > > > you people happen to just find the energy to take a look > > > > at the thing again without so much... err... "painful > > > > exchanges" (I speak spanish, sorry, my english is limited). > > > > Finally having this use cases should be something to > > > > celebrate, and not something depressing. I know, this is > > > > some kinda hippie thinking of mine. But I feel it's worth > > > > the note anyways. > > > > > > > > > > > > Just my 2 cents. > > > > Thanks, > > > > Daniel. > > > > > > Hi Daniel, > > > > > > thanks for your comments. I basically think that others should > > > respond to this, but I'd like to add a few remarks. > > > > > > Once for the facts: the subtitle_pts field in AVFrame exists since > > > V5 of my patchset, which I have submitted on 2021-09-12. > > > This has been 3 months ago. Nobody had objected its existence > > > until only 2 or 3 weeks ago. > > > > > > This is really irrelevant, please stop insisting on hacks like > subtitle_pts. > > New idea: > > I could remove the three fields (subtitle_pts, subtitle_start_time, > subtitle_end_time) from AVFrame and add it to AVSubtitleArea. > > How about that? It would allow the frame to be "clean" at least. > Yea, much better, But still original issue is not solved. Also what about subtitle formats negotiation and auto inserting filters when needed? > > sw > > > > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". > _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [FFmpeg-devel] Politics 2021-12-18 10:26 ` Paul B Mahol @ 2021-12-18 11:34 ` Soft Works 2021-12-18 13:32 ` Lynne 0 siblings, 1 reply; 30+ messages in thread From: Soft Works @ 2021-12-18 11:34 UTC (permalink / raw) To: FFmpeg development discussions and patches > -----Original Message----- > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Paul B > Mahol > Sent: Saturday, December 18, 2021 11:27 AM > To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> > Subject: Re: [FFmpeg-devel] Politics > > On Wed, Dec 15, 2021 at 2:34 PM Soft Works <softworkz@hotmail.com> wrote: > [..] > > > > Once for the facts: the subtitle_pts field in AVFrame exists since > > > > V5 of my patchset, which I have submitted on 2021-09-12. > > > > This has been 3 months ago. Nobody had objected its existence > > > > until only 2 or 3 weeks ago. > > > > > > > > > This is really irrelevant, please stop insisting on hacks like > > subtitle_pts. > > > > New idea: > > > > I could remove the three fields (subtitle_pts, subtitle_start_time, > > subtitle_end_time) from AVFrame and add it to AVSubtitleArea. > > > > How about that? It would allow the frame to be "clean" at least. > > > > > Yea, much better, But still original issue is not solved. Yes, correct, this changes the location but not the logic. But this is something I could surely do. It's a bit of work, but it would be safe to do without breaking everything into dysfunctional pieces ;-) It wouldn't be my first choice since there can be multiple AVSubtitleAreas while only those values from the first one would be relevant. But when this would help to increase the acceptance, then it will be fine for me. Another possibility I had thought about, might be to leave them at the side of AVFrame, but put them in a struct field of AVFrame named 'subtitle_timing', which itself would have the fields pts, start_time, end_time. I did some research regarding the use of the start_time field. While it is used and cannot be dropped, I found that the following changes would be possible with moderate effort: - change the time base of start_time and end_time to the same like subtitle_pts (AV_TIMEBASE_Q) - rename subtitle_start_time to subtitle_start_offset - rename subtitle_end_time to subtitle_duration and adapt the logic everywhere where it's used In combination with the subtitle_timing struct idea it could then look like: frame->subtitle_timing.pts frame->subtitle_timing.start_offset frame->subtitle_timing.duration or even eliminate the pts naming and do like: frame->subtitle_timing.start frame->subtitle_timing.start_offset frame->subtitle_timing.duration or still move them to AVSubtitleArea, which wouldn't be that nice to access and require to check the subtitle_area_nb value wherever it needs to be accessed: frame->subtitle_areas[0].start frame->subtitle_areas[0].start_offset frame->subtitle_areas[0].duration Please let me (all) know whether one of those suggestions would be an acceptable compromise. PS: I'll respond to the other question shortly Thanks, softworkz _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [FFmpeg-devel] Politics 2021-12-18 11:34 ` Soft Works @ 2021-12-18 13:32 ` Lynne 2021-12-18 14:28 ` Soft Works 2021-12-18 15:41 ` Daniel Cantarín 0 siblings, 2 replies; 30+ messages in thread From: Lynne @ 2021-12-18 13:32 UTC (permalink / raw) To: FFmpeg development discussions and patches Dec 18, 2021, 12:34 by softworkz@hotmail.com: > > >> -----Original Message----- >> From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Paul B >> Mahol >> Sent: Saturday, December 18, 2021 11:27 AM >> To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> >> Subject: Re: [FFmpeg-devel] Politics >> >> On Wed, Dec 15, 2021 at 2:34 PM Soft Works <softworkz@hotmail.com> wrote: >> > > [..] > >> > > > Once for the facts: the subtitle_pts field in AVFrame exists since >> > > > V5 of my patchset, which I have submitted on 2021-09-12. >> > > > This has been 3 months ago. Nobody had objected its existence >> > > > until only 2 or 3 weeks ago. >> > > >> > > >> > > This is really irrelevant, please stop insisting on hacks like >> > subtitle_pts. >> > >> > New idea: >> > >> > I could remove the three fields (subtitle_pts, subtitle_start_time, >> > subtitle_end_time) from AVFrame and add it to AVSubtitleArea. >> > >> > How about that? It would allow the frame to be "clean" at least. >> > >> >> >> Yea, much better, But still original issue is not solved. >> > > Yes, correct, this changes the location but not the logic. > But this is something I could surely do. It's a bit of work, > but it would be safe to do without breaking everything into > dysfunctional pieces ;-) > > It wouldn't be my first choice since there can be multiple > AVSubtitleAreas while only those values from the first one > would be relevant. But when this would help to increase the > acceptance, then it will be fine for me. > > Another possibility I had thought about, might be to leave > them at the side of AVFrame, but put them in a struct field > of AVFrame named 'subtitle_timing', which itself would have > the fields pts, start_time, end_time. > > > I did some research regarding the use of the start_time > field. While it is used and cannot be dropped, I found > that the following changes would be possible with moderate > effort: > > - change the time base of start_time and end_time > to the same like subtitle_pts (AV_TIMEBASE_Q) > - rename subtitle_start_time to subtitle_start_offset > - rename subtitle_end_time to subtitle_duration > and adapt the logic everywhere where it's used > > In combination with the subtitle_timing struct idea it > could then look like: > > frame->subtitle_timing.pts > frame->subtitle_timing.start_offset > frame->subtitle_timing.duration > > or even eliminate the pts naming and do like: > > frame->subtitle_timing.start > frame->subtitle_timing.start_offset > frame->subtitle_timing.duration > > or still move them to AVSubtitleArea, which wouldn't > be that nice to access and require to check the > subtitle_area_nb value wherever it needs to be > accessed: > > frame->subtitle_areas[0].start > frame->subtitle_areas[0].start_offset > frame->subtitle_areas[0].duration > > > Please let me (all) know whether one of those suggestions would > be an acceptable compromise. > Renaming the fields doesn't get around the issue that they're still overriding fields with a different meaning from the AVFrame structure. That's not really a compromise since they're still there. I also am not accepting a hardcoded timebase of microseconds. Rounding really matters for subtitles, since presenting them a frame early or late is unacceptable, so I'd like a time_base field for the timestamps. Like elenril said, this is an API that'll stay for decades at the least, and replacing and changing will be impossible once it's merged. Just stuffing the entire AVSubtitle field in a frame simply won't do. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [FFmpeg-devel] Politics 2021-12-18 13:32 ` Lynne @ 2021-12-18 14:28 ` Soft Works 2021-12-18 15:16 ` Lynne 2021-12-18 15:41 ` Daniel Cantarín 1 sibling, 1 reply; 30+ messages in thread From: Soft Works @ 2021-12-18 14:28 UTC (permalink / raw) To: FFmpeg development discussions and patches > -----Original Message----- > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Lynne > Sent: Saturday, December 18, 2021 2:33 PM > To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> > Subject: Re: [FFmpeg-devel] Politics > > Dec 18, 2021, 12:34 by softworkz@hotmail.com: > > > > > > >> -----Original Message----- > >> From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Paul B > >> Mahol > >> Sent: Saturday, December 18, 2021 11:27 AM > >> To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> > >> Subject: Re: [FFmpeg-devel] Politics > >> > >> On Wed, Dec 15, 2021 at 2:34 PM Soft Works <softworkz@hotmail.com> wrote: > >> > > > > [..] > > > >> > > > Once for the facts: the subtitle_pts field in AVFrame exists since > >> > > > V5 of my patchset, which I have submitted on 2021-09-12. > >> > > > This has been 3 months ago. Nobody had objected its existence > >> > > > until only 2 or 3 weeks ago. > >> > > > >> > > > >> > > This is really irrelevant, please stop insisting on hacks like > >> > subtitle_pts. > >> > > >> > New idea: > >> > > >> > I could remove the three fields (subtitle_pts, subtitle_start_time, > >> > subtitle_end_time) from AVFrame and add it to AVSubtitleArea. > >> > > >> > How about that? It would allow the frame to be "clean" at least. > >> > > >> > >> > >> Yea, much better, But still original issue is not solved. > >> > > > > Yes, correct, this changes the location but not the logic. > > But this is something I could surely do. It's a bit of work, > > but it would be safe to do without breaking everything into > > dysfunctional pieces ;-) > > > > It wouldn't be my first choice since there can be multiple > > AVSubtitleAreas while only those values from the first one > > would be relevant. But when this would help to increase the > > acceptance, then it will be fine for me. > > > > Another possibility I had thought about, might be to leave > > them at the side of AVFrame, but put them in a struct field > > of AVFrame named 'subtitle_timing', which itself would have > > the fields pts, start_time, end_time. > > > > > > I did some research regarding the use of the start_time > > field. While it is used and cannot be dropped, I found > > that the following changes would be possible with moderate > > effort: > > > > - change the time base of start_time and end_time > > to the same like subtitle_pts (AV_TIMEBASE_Q) > > - rename subtitle_start_time to subtitle_start_offset > > - rename subtitle_end_time to subtitle_duration > > and adapt the logic everywhere where it's used > > > > In combination with the subtitle_timing struct idea it > > could then look like: > > > > frame->subtitle_timing.pts > > frame->subtitle_timing.start_offset > > frame->subtitle_timing.duration > > > > or even eliminate the pts naming and do like: > > > > frame->subtitle_timing.start > > frame->subtitle_timing.start_offset > > frame->subtitle_timing.duration > > > > or still move them to AVSubtitleArea, which wouldn't > > be that nice to access and require to check the > > subtitle_area_nb value wherever it needs to be > > accessed: > > > > frame->subtitle_areas[0].start > > frame->subtitle_areas[0].start_offset > > frame->subtitle_areas[0].duration > > > > > > Please let me (all) know whether one of those suggestions would > > be an acceptable compromise. > > > > Renaming the fields doesn't get around the issue that they're > still overriding fields with a different meaning from the > AVFrame structure. That's not really a compromise since they're > still there. I'm suggesting those things that are doable. > I also am not accepting a hardcoded timebase of microseconds. > Rounding really matters for subtitles, since presenting them > a frame early or late is unacceptable, so I'd like a time_base > field for the timestamps. I can't follow. With 120fps, the frame duration is 8300 microseconds. And you say that's not enough to hit the right frame? None of the subtitle storage formats has a precision higher than milliseconds, often it's less. Finally, a fixed time base avoids frequent re-scaling and that in turn means less rounding errors. Kind regards, softworkz _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [FFmpeg-devel] Politics 2021-12-18 14:28 ` Soft Works @ 2021-12-18 15:16 ` Lynne 2021-12-18 15:43 ` Soft Works 0 siblings, 1 reply; 30+ messages in thread From: Lynne @ 2021-12-18 15:16 UTC (permalink / raw) To: FFmpeg development discussions and patches 18 Dec 2021, 15:28 by softworkz@hotmail.com: > > >> -----Original Message----- >> From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Lynne >> Sent: Saturday, December 18, 2021 2:33 PM >> To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> >> Subject: Re: [FFmpeg-devel] Politics >> >> Dec 18, 2021, 12:34 by softworkz@hotmail.com: >> >> > >> > >> >> -----Original Message----- >> >> From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Paul B >> >> Mahol >> >> Sent: Saturday, December 18, 2021 11:27 AM >> >> To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> >> >> Subject: Re: [FFmpeg-devel] Politics >> >> >> >> On Wed, Dec 15, 2021 at 2:34 PM Soft Works <softworkz@hotmail.com> wrote: >> >> >> > >> > [..] >> > >> >> > > > Once for the facts: the subtitle_pts field in AVFrame exists since >> >> > > > V5 of my patchset, which I have submitted on 2021-09-12. >> >> > > > This has been 3 months ago. Nobody had objected its existence >> >> > > > until only 2 or 3 weeks ago. >> >> > > >> >> > > >> >> > > This is really irrelevant, please stop insisting on hacks like >> >> > subtitle_pts. >> >> > >> >> > New idea: >> >> > >> >> > I could remove the three fields (subtitle_pts, subtitle_start_time, >> >> > subtitle_end_time) from AVFrame and add it to AVSubtitleArea. >> >> > >> >> > How about that? It would allow the frame to be "clean" at least. >> >> > >> >> >> >> >> >> Yea, much better, But still original issue is not solved. >> >> >> > >> > Yes, correct, this changes the location but not the logic. >> > But this is something I could surely do. It's a bit of work, >> > but it would be safe to do without breaking everything into >> > dysfunctional pieces ;-) >> > >> > It wouldn't be my first choice since there can be multiple >> > AVSubtitleAreas while only those values from the first one >> > would be relevant. But when this would help to increase the >> > acceptance, then it will be fine for me. >> > >> > Another possibility I had thought about, might be to leave >> > them at the side of AVFrame, but put them in a struct field >> > of AVFrame named 'subtitle_timing', which itself would have >> > the fields pts, start_time, end_time. >> > >> > >> > I did some research regarding the use of the start_time >> > field. While it is used and cannot be dropped, I found >> > that the following changes would be possible with moderate >> > effort: >> > >> > - change the time base of start_time and end_time >> > to the same like subtitle_pts (AV_TIMEBASE_Q) >> > - rename subtitle_start_time to subtitle_start_offset >> > - rename subtitle_end_time to subtitle_duration >> > and adapt the logic everywhere where it's used >> > >> > In combination with the subtitle_timing struct idea it >> > could then look like: >> > >> > frame->subtitle_timing.pts >> > frame->subtitle_timing.start_offset >> > frame->subtitle_timing.duration >> > >> > or even eliminate the pts naming and do like: >> > >> > frame->subtitle_timing.start >> > frame->subtitle_timing.start_offset >> > frame->subtitle_timing.duration >> > >> > or still move them to AVSubtitleArea, which wouldn't >> > be that nice to access and require to check the >> > subtitle_area_nb value wherever it needs to be >> > accessed: >> > >> > frame->subtitle_areas[0].start >> > frame->subtitle_areas[0].start_offset >> > frame->subtitle_areas[0].duration >> > >> > >> > Please let me (all) know whether one of those suggestions would >> > be an acceptable compromise. >> > >> >> Renaming the fields doesn't get around the issue that they're >> still overriding fields with a different meaning from the >> AVFrame structure. That's not really a compromise since they're >> still there. >> > > I'm suggesting those things that are doable. > > >> I also am not accepting a hardcoded timebase of microseconds. >> Rounding really matters for subtitles, since presenting them >> a frame early or late is unacceptable, so I'd like a time_base >> field for the timestamps. >> > > I can't follow. With 120fps, the frame duration is 8300 microseconds. > And you say that's not enough to hit the right frame? > > None of the subtitle storage formats has a precision higher than > milliseconds, often it's less. > > Finally, a fixed time base avoids frequent re-scaling and that > in turn means less rounding errors. > A timebase completely eliminates all scaling. Bitmap subtitles exist, as well as ATSC subtitles, which are embedded in frames, and therefore have the same timestamp and timebase as the frames themselves. Forcing them to be rescaled to whatever timebase you thought is good enough is a bad, inflexible design choice. Also, some text subtitle formats have a timestamp precision much greater than a millisecond, like Ogg Kate. We don't support it yet, but you never know. An API must be able to handle everything. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [FFmpeg-devel] Politics 2021-12-18 15:16 ` Lynne @ 2021-12-18 15:43 ` Soft Works 2021-12-18 17:53 ` Lynne 2021-12-18 17:59 ` Daniel Cantarín 0 siblings, 2 replies; 30+ messages in thread From: Soft Works @ 2021-12-18 15:43 UTC (permalink / raw) To: FFmpeg development discussions and patches > -----Original Message----- > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Lynne > Sent: Saturday, December 18, 2021 4:17 PM > To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> > Subject: Re: [FFmpeg-devel] Politics > > 18 Dec 2021, 15:28 by softworkz@hotmail.com: > > > > > > >> -----Original Message----- > >> From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Lynne > >> Sent: Saturday, December 18, 2021 2:33 PM > >> To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> > >> Subject: Re: [FFmpeg-devel] Politics > >> > >> Dec 18, 2021, 12:34 by softworkz@hotmail.com: > >> > >> > > >> > > >> >> -----Original Message----- > >> >> From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Paul > B > >> >> Mahol > >> >> Sent: Saturday, December 18, 2021 11:27 AM > >> >> To: FFmpeg development discussions and patches <ffmpeg- > devel@ffmpeg.org> > >> >> Subject: Re: [FFmpeg-devel] Politics > >> >> > >> >> On Wed, Dec 15, 2021 at 2:34 PM Soft Works <softworkz@hotmail.com> > wrote: > >> >> > >> > > >> > [..] > >> > > >> >> > > > Once for the facts: the subtitle_pts field in AVFrame exists > since > >> >> > > > V5 of my patchset, which I have submitted on 2021-09-12. > >> >> > > > This has been 3 months ago. Nobody had objected its existence > >> >> > > > until only 2 or 3 weeks ago. > >> >> > > > >> >> > > > >> >> > > This is really irrelevant, please stop insisting on hacks like > >> >> > subtitle_pts. > >> >> > > >> >> > New idea: > >> >> > > >> >> > I could remove the three fields (subtitle_pts, subtitle_start_time, > >> >> > subtitle_end_time) from AVFrame and add it to AVSubtitleArea. > >> >> > > >> >> > How about that? It would allow the frame to be "clean" at least. > >> >> > > >> >> > >> >> > >> >> Yea, much better, But still original issue is not solved. > >> >> > >> > > >> > Yes, correct, this changes the location but not the logic. > >> > But this is something I could surely do. It's a bit of work, > >> > but it would be safe to do without breaking everything into > >> > dysfunctional pieces ;-) > >> > > >> > It wouldn't be my first choice since there can be multiple > >> > AVSubtitleAreas while only those values from the first one > >> > would be relevant. But when this would help to increase the > >> > acceptance, then it will be fine for me. > >> > > >> > Another possibility I had thought about, might be to leave > >> > them at the side of AVFrame, but put them in a struct field > >> > of AVFrame named 'subtitle_timing', which itself would have > >> > the fields pts, start_time, end_time. > >> > > >> > > >> > I did some research regarding the use of the start_time > >> > field. While it is used and cannot be dropped, I found > >> > that the following changes would be possible with moderate > >> > effort: > >> > > >> > - change the time base of start_time and end_time > >> > to the same like subtitle_pts (AV_TIMEBASE_Q) > >> > - rename subtitle_start_time to subtitle_start_offset > >> > - rename subtitle_end_time to subtitle_duration > >> > and adapt the logic everywhere where it's used > >> > > >> > In combination with the subtitle_timing struct idea it > >> > could then look like: > >> > > >> > frame->subtitle_timing.pts > >> > frame->subtitle_timing.start_offset > >> > frame->subtitle_timing.duration > >> > > >> > or even eliminate the pts naming and do like: > >> > > >> > frame->subtitle_timing.start > >> > frame->subtitle_timing.start_offset > >> > frame->subtitle_timing.duration > >> > > >> > or still move them to AVSubtitleArea, which wouldn't > >> > be that nice to access and require to check the > >> > subtitle_area_nb value wherever it needs to be > >> > accessed: > >> > > >> > frame->subtitle_areas[0].start > >> > frame->subtitle_areas[0].start_offset > >> > frame->subtitle_areas[0].duration > >> > > >> > > >> > Please let me (all) know whether one of those suggestions would > >> > be an acceptable compromise. > >> > > >> > >> Renaming the fields doesn't get around the issue that they're > >> still overriding fields with a different meaning from the > >> AVFrame structure. That's not really a compromise since they're > >> still there. > >> > > > > I'm suggesting those things that are doable. > > > > > >> I also am not accepting a hardcoded timebase of microseconds. > >> Rounding really matters for subtitles, since presenting them > >> a frame early or late is unacceptable, so I'd like a time_base > >> field for the timestamps. > >> > > > > I can't follow. With 120fps, the frame duration is 8300 microseconds. > > And you say that's not enough to hit the right frame? > > > > None of the subtitle storage formats has a precision higher than > > milliseconds, often it's less. > > > > Finally, a fixed time base avoids frequent re-scaling and that > > in turn means less rounding errors. > > > > A timebase completely eliminates all scaling. > Bitmap subtitles exist, > as well as ATSC subtitles There are like 2 or 3 characters in each frame. Sometimes they are shown as they are coming in, sometimes only when a line is completed, sometimes needs to wait for subsequent frames before emitting new characters. This is really not a high-precision thing. , which > are embedded in frames, and therefore have the same timestamp > and timebase as the frames themselves. Forcing them to be > rescaled to whatever timebase you thought is good enough is > a bad, inflexible design choice. What precision do you want? This is nothing like audio. You just need to hit one frame or the next frame, nothing in-between because there is nothing in between. So what's this about? Videos with 1 Million fps? > Also, some text subtitle formats have a timestamp precision > much greater than a millisecond, like Ogg Kate. But only because it uses the same bitstream layout as for audio and video. > We don't > support it yet, but you never know. An API must be able to > handle everything. It will handle this perfectly fine. I'm afraid, but IMO you are trying to construct cases which do not even have a theoretical value. Kind regards, softworkz _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [FFmpeg-devel] Politics 2021-12-18 15:43 ` Soft Works @ 2021-12-18 17:53 ` Lynne 2021-12-18 18:16 ` Daniel Cantarín 2021-12-18 17:59 ` Daniel Cantarín 1 sibling, 1 reply; 30+ messages in thread From: Lynne @ 2021-12-18 17:53 UTC (permalink / raw) To: FFmpeg development discussions and patches 18 Dec 2021, 16:43 by softworkz@hotmail.com: > > >> -----Original Message----- >> From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Lynne >> Sent: Saturday, December 18, 2021 4:17 PM >> To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> >> Subject: Re: [FFmpeg-devel] Politics >> >> 18 Dec 2021, 15:28 by softworkz@hotmail.com: >> >> > >> > >> >> -----Original Message----- >> >> From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Lynne >> >> Sent: Saturday, December 18, 2021 2:33 PM >> >> To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> >> >> Subject: Re: [FFmpeg-devel] Politics >> >> >> >> Dec 18, 2021, 12:34 by softworkz@hotmail.com: >> >> >> >> > >> >> > >> >> >> -----Original Message----- >> >> >> From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Paul >> B >> >> >> Mahol >> >> >> Sent: Saturday, December 18, 2021 11:27 AM >> >> >> To: FFmpeg development discussions and patches <ffmpeg- >> devel@ffmpeg.org> >> >> >> Subject: Re: [FFmpeg-devel] Politics >> >> >> >> >> >> On Wed, Dec 15, 2021 at 2:34 PM Soft Works <softworkz@hotmail.com> >> wrote: >> >> >> >> >> > >> >> > [..] >> >> > >> >> >> > > > Once for the facts: the subtitle_pts field in AVFrame exists >> since >> >> >> > > > V5 of my patchset, which I have submitted on 2021-09-12. >> >> >> > > > This has been 3 months ago. Nobody had objected its existence >> >> >> > > > until only 2 or 3 weeks ago. >> >> >> > > >> >> >> > > >> >> >> > > This is really irrelevant, please stop insisting on hacks like >> >> >> > subtitle_pts. >> >> >> > >> >> >> > New idea: >> >> >> > >> >> >> > I could remove the three fields (subtitle_pts, subtitle_start_time, >> >> >> > subtitle_end_time) from AVFrame and add it to AVSubtitleArea. >> >> >> > >> >> >> > How about that? It would allow the frame to be "clean" at least. >> >> >> > >> >> >> >> >> >> >> >> >> Yea, much better, But still original issue is not solved. >> >> >> >> >> > >> >> > Yes, correct, this changes the location but not the logic. >> >> > But this is something I could surely do. It's a bit of work, >> >> > but it would be safe to do without breaking everything into >> >> > dysfunctional pieces ;-) >> >> > >> >> > It wouldn't be my first choice since there can be multiple >> >> > AVSubtitleAreas while only those values from the first one >> >> > would be relevant. But when this would help to increase the >> >> > acceptance, then it will be fine for me. >> >> > >> >> > Another possibility I had thought about, might be to leave >> >> > them at the side of AVFrame, but put them in a struct field >> >> > of AVFrame named 'subtitle_timing', which itself would have >> >> > the fields pts, start_time, end_time. >> >> > >> >> > >> >> > I did some research regarding the use of the start_time >> >> > field. While it is used and cannot be dropped, I found >> >> > that the following changes would be possible with moderate >> >> > effort: >> >> > >> >> > - change the time base of start_time and end_time >> >> > to the same like subtitle_pts (AV_TIMEBASE_Q) >> >> > - rename subtitle_start_time to subtitle_start_offset >> >> > - rename subtitle_end_time to subtitle_duration >> >> > and adapt the logic everywhere where it's used >> >> > >> >> > In combination with the subtitle_timing struct idea it >> >> > could then look like: >> >> > >> >> > frame->subtitle_timing.pts >> >> > frame->subtitle_timing.start_offset >> >> > frame->subtitle_timing.duration >> >> > >> >> > or even eliminate the pts naming and do like: >> >> > >> >> > frame->subtitle_timing.start >> >> > frame->subtitle_timing.start_offset >> >> > frame->subtitle_timing.duration >> >> > >> >> > or still move them to AVSubtitleArea, which wouldn't >> >> > be that nice to access and require to check the >> >> > subtitle_area_nb value wherever it needs to be >> >> > accessed: >> >> > >> >> > frame->subtitle_areas[0].start >> >> > frame->subtitle_areas[0].start_offset >> >> > frame->subtitle_areas[0].duration >> >> > >> >> > >> >> > Please let me (all) know whether one of those suggestions would >> >> > be an acceptable compromise. >> >> > >> >> >> >> Renaming the fields doesn't get around the issue that they're >> >> still overriding fields with a different meaning from the >> >> AVFrame structure. That's not really a compromise since they're >> >> still there. >> >> >> > >> > I'm suggesting those things that are doable. >> > >> > >> >> I also am not accepting a hardcoded timebase of microseconds. >> >> Rounding really matters for subtitles, since presenting them >> >> a frame early or late is unacceptable, so I'd like a time_base >> >> field for the timestamps. >> >> >> > >> > I can't follow. With 120fps, the frame duration is 8300 microseconds. >> > And you say that's not enough to hit the right frame? >> > >> > None of the subtitle storage formats has a precision higher than >> > milliseconds, often it's less. >> > >> > Finally, a fixed time base avoids frequent re-scaling and that >> > in turn means less rounding errors. >> > >> >> A timebase completely eliminates all scaling. >> Bitmap subtitles exist, >> >> as well as ATSC subtitles >> > > There are like 2 or 3 characters in each frame. Sometimes > they are shown as they are coming in, sometimes only > when a line is completed, sometimes needs to wait > for subsequent frames before emitting new characters. > This is really not a high-precision thing. > > > , which > >> are embedded in frames, and therefore have the same timestamp >> and timebase as the frames themselves. Forcing them to be >> rescaled to whatever timebase you thought is good enough is >> a bad, inflexible design choice. >> > > What precision do you want? > The exact same time_base used for the video, optimally. That eliminates all rounding issues. Otherwise, either the format's native timestamps, or otherwise the container's timestamps for each packet, if any, whichever is more accurate. But definitely not just using AV_TIME_BASE for everything and calling it good enough. > This is nothing like audio. You just need to hit one > frame or the next frame, nothing in-between because there > is nothing in between. > > So what's this about? Videos with 1 Million fps? > >> Also, some text subtitle formats have a timestamp precision >> much greater than a millisecond, like Ogg Kate. >> > > But only because it uses the same bitstream layout as for > audio and video. > >> We don't >> support it yet, but you never know. An API must be able to >> handle everything. >> > > It will handle this perfectly fine. > > > I'm afraid, but IMO you are trying to construct cases which > do not even have a theoretical value. > This is a very lax attitude towards a serious problem that everyone in the fansubbing community deals with. A frame of offset is unacceptable for such use-cases, and they have to deal with formats which made concessions to timebases due to historical blunders. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [FFmpeg-devel] Politics 2021-12-18 17:53 ` Lynne @ 2021-12-18 18:16 ` Daniel Cantarín 2021-12-18 18:30 ` Hendrik Leppkes 0 siblings, 1 reply; 30+ messages in thread From: Daniel Cantarín @ 2021-12-18 18:16 UTC (permalink / raw) To: ffmpeg-devel > This is a very lax attitude towards a serious problem that > everyone in the fansubbing community deals with. A frame > of offset is unacceptable for such use-cases, and they have > to deal with formats which made concessions to timebases > due to historical blunders. Please link to some such fansub community, where they're discussing some serious frame-perfect sync issue. A single comment in some forum would be fine. I would like to understand those interests better, as all fansub communities that I know of deal with audio timings, not video frames. I've mentioned this before; "people talk a lot about syncing subs with video frames, but rarely against actual dialogue audio", here: http://ffmpeg.org/pipermail/ffmpeg-devel/2021-December/289290.html I've never seen anyone checking sub sync against video frames: they always check it agains the dialogue in my experience. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [FFmpeg-devel] Politics 2021-12-18 18:16 ` Daniel Cantarín @ 2021-12-18 18:30 ` Hendrik Leppkes 2021-12-18 18:49 ` Soft Works 2021-12-18 20:05 ` Daniel Cantarín 0 siblings, 2 replies; 30+ messages in thread From: Hendrik Leppkes @ 2021-12-18 18:30 UTC (permalink / raw) To: FFmpeg development discussions and patches On Sat, Dec 18, 2021 at 7:16 PM Daniel Cantarín <canta@canta.com.ar> wrote: > > > This is a very lax attitude towards a serious problem that > > everyone in the fansubbing community deals with. A frame > > of offset is unacceptable for such use-cases, and they have > > to deal with formats which made concessions to timebases > > due to historical blunders. > > Please link to some such fansub community, where they're > discussing some serious frame-perfect sync issue. A single > comment in some forum would be fine. I would like to > understand those interests better, as all fansub communities > that I know of deal with audio timings, not video frames. > > I've mentioned this before; "people talk a lot about syncing > subs with video frames, but rarely against actual dialogue > audio", here: > http://ffmpeg.org/pipermail/ffmpeg-devel/2021-December/289290.html > > I've never seen anyone checking sub sync against video > frames: they always check it agains the dialogue in my > experience. Then you have never seen anime translations where signage in the videos are translated. If the subtitles are off even by one frame in such a case, you will see it, especially when the translated sign is moving with the video, and one new subtitle event is generated for every video frame. You can't sync to audio when the element you are translating is in the video itself, and not audio. - Hendrik _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [FFmpeg-devel] Politics 2021-12-18 18:30 ` Hendrik Leppkes @ 2021-12-18 18:49 ` Soft Works 2021-12-18 20:05 ` Daniel Cantarín 1 sibling, 0 replies; 30+ messages in thread From: Soft Works @ 2021-12-18 18:49 UTC (permalink / raw) To: FFmpeg development discussions and patches > -----Original Message----- > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Hendrik > Leppkes > Sent: Saturday, December 18, 2021 7:31 PM > To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> > Subject: Re: [FFmpeg-devel] Politics > > On Sat, Dec 18, 2021 at 7:16 PM Daniel Cantarín <canta@canta.com.ar> wrote: > > > > > This is a very lax attitude towards a serious problem that > > > everyone in the fansubbing community deals with. A frame > > > of offset is unacceptable for such use-cases, and they have > > > to deal with formats which made concessions to timebases > > > due to historical blunders. > > > > Please link to some such fansub community, where they're > > discussing some serious frame-perfect sync issue. A single > > comment in some forum would be fine. I would like to > > understand those interests better, as all fansub communities > > that I know of deal with audio timings, not video frames. > > > > I've mentioned this before; "people talk a lot about syncing > > subs with video frames, but rarely against actual dialogue > > audio", here: > > http://ffmpeg.org/pipermail/ffmpeg-devel/2021-December/289290.html > > > > I've never seen anyone checking sub sync against video > > frames: they always check it agains the dialogue in my > > experience. > > Then you have never seen anime translations where signage in the > videos are translated. If the subtitles are off even by one frame in > such a case, you will see it, especially when the translated sign is > moving with the video, and one new subtitle event is generated for > every video frame. > You can't sync to audio when the element you are translating is in the > video itself, and not audio. I'm all-in regarding accuracy. That's out of question. But please @Hendrilk & @Lynne: Provide an example demonstrating that an problem that could be solved by increasing the scale of the subtitle timing values. Let's look at real problems, not hypothetical ones. Thanks, softworkz _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [FFmpeg-devel] Politics 2021-12-18 18:30 ` Hendrik Leppkes 2021-12-18 18:49 ` Soft Works @ 2021-12-18 20:05 ` Daniel Cantarín 2021-12-18 20:41 ` Soft Works 1 sibling, 1 reply; 30+ messages in thread From: Daniel Cantarín @ 2021-12-18 20:05 UTC (permalink / raw) To: ffmpeg-devel > > Then you have never seen anime translations where signage in the > videos are translated. If the subtitles are off even by one frame in > such a case, you will see it, especially when the translated sign is > moving with the video, and one new subtitle event is generated for > every video frame. > You can't sync to audio when the element you are translating is in the > video itself, and not audio. > > - Hendrik This is correct, thank you. 1. If you're translating visuals, you sync to video. 2. If such visual is moving, you may move the translation in sync. I've ignored those cases, and it's correct to remark them. Yet, I understand this is done with video editing UIs, not ffmpeg filters, specially as it requires to visually match XY coordinates. Also, subtitle communities I know of use timings, not frames, even when doing overlays: "overlay at X:Y:Z.000 time". And a single frame means absolutelly nothing, even in this use cases. So, overall, I fail to see the serious frame-perfect subtitle-video sync problem with the patchset. But there's no need to so much debate: get us some such anime sub, I get the original video somehow, do some tests, and post the results here. I'm open to do the testing work, if others are willing to help me with input examples. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [FFmpeg-devel] Politics 2021-12-18 20:05 ` Daniel Cantarín @ 2021-12-18 20:41 ` Soft Works 2021-12-19 15:16 ` Michael Niedermayer 0 siblings, 1 reply; 30+ messages in thread From: Soft Works @ 2021-12-18 20:41 UTC (permalink / raw) To: FFmpeg development discussions and patches > -----Original Message----- > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Daniel > Cantarín > Sent: Saturday, December 18, 2021 9:05 PM > To: ffmpeg-devel@ffmpeg.org > Subject: Re: [FFmpeg-devel] Politics > > > > > Then you have never seen anime translations where signage in the > > videos are translated. If the subtitles are off even by one frame in > > such a case, you will see it, especially when the translated sign is > > moving with the video, and one new subtitle event is generated for > > every video frame. > > You can't sync to audio when the element you are translating is in the > > video itself, and not audio. > > > > - Hendrik > > This is correct, thank you. > 1. If you're translating visuals, you sync to video. > 2. If such visual is moving, you may move the translation in sync. > > I've ignored those cases, and it's correct to remark them. > > Yet, I understand this is done with video editing UIs, not ffmpeg filters, > specially as it requires to visually match XY coordinates. > > Also, subtitle communities I know of use timings, not frames, even > when doing overlays: "overlay at X:Y:Z.000 time". > > And a single frame means absolutelly nothing, even in this use cases. > > So, overall, I fail to see the serious frame-perfect subtitle-video sync > problem with the patchset. The more the focus is moving to "a single frame" doesn't matter, the more will that conversation create the impression that my patchset would be lacking precision. In fact we're just talking about a fantasy subject instead of an existing problem. > But there's no need to so much debate: get us some such anime sub, > I get the original video somehow, do some tests, and post the results > here. I'm open to do the testing work, if others are willing to help me > with input examples. I would also be interested in an example for this, even when it doesn't prove any issues. I'd be really glad when somebody could provide a sample (even privately), it could be something I haven't seen yet. Thanks, sw _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [FFmpeg-devel] Politics 2021-12-18 20:41 ` Soft Works @ 2021-12-19 15:16 ` Michael Niedermayer 2021-12-19 18:23 ` Soft Works 0 siblings, 1 reply; 30+ messages in thread From: Michael Niedermayer @ 2021-12-19 15:16 UTC (permalink / raw) To: FFmpeg development discussions and patches [-- Attachment #1.1: Type: text/plain, Size: 3037 bytes --] On Sat, Dec 18, 2021 at 08:41:09PM +0000, Soft Works wrote: > > > > -----Original Message----- > > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Daniel > > Cantarín > > Sent: Saturday, December 18, 2021 9:05 PM > > To: ffmpeg-devel@ffmpeg.org > > Subject: Re: [FFmpeg-devel] Politics > > > > > > > > Then you have never seen anime translations where signage in the > > > videos are translated. If the subtitles are off even by one frame in > > > such a case, you will see it, especially when the translated sign is > > > moving with the video, and one new subtitle event is generated for > > > every video frame. > > > You can't sync to audio when the element you are translating is in the > > > video itself, and not audio. > > > > > > - Hendrik > > > > This is correct, thank you. > > 1. If you're translating visuals, you sync to video. > > 2. If such visual is moving, you may move the translation in sync. > > > > I've ignored those cases, and it's correct to remark them. > > > > Yet, I understand this is done with video editing UIs, not ffmpeg filters, > > specially as it requires to visually match XY coordinates. > > > > Also, subtitle communities I know of use timings, not frames, even > > when doing overlays: "overlay at X:Y:Z.000 time". > > > > And a single frame means absolutelly nothing, even in this use cases. > > > > So, overall, I fail to see the serious frame-perfect subtitle-video sync > > problem with the patchset. > > The more the focus is moving to "a single frame" doesn't matter, > the more will that conversation create the impression that my patchset > would be lacking precision. > > In fact we're just talking about a fantasy subject instead of an > existing problem. > > > But there's no need to so much debate: get us some such anime sub, > > I get the original video somehow, do some tests, and post the results > > here. I'm open to do the testing work, if others are willing to help me > > with input examples. > > I would also be interested in an example for this, even when it doesn't > prove any issues. > > I'd be really glad when somebody could provide a sample (even privately), > it could be something I haven't seen yet. playing devils advocate here, meaning iam not sure if the example below makes sense as an argument in this debate but its a interresting case which was not mentioned consider a subtitle track consider 2 video tracks for US 30000/1001 fps and EU 25 fps the 6th frame in the US track is at 0.2002 sec, the 5th in the EU track at 0.2sec if these differ and you want a subtitle to either stop displaying after the earlier or begin displaying after the earlier reliably. Then you need a timebase that can represent points within each such close encounter of frame times. thx [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB There will always be a question for which you do not know the correct answer. [-- Attachment #1.2: signature.asc --] [-- Type: application/pgp-signature, Size: 195 bytes --] [-- Attachment #2: Type: text/plain, Size: 251 bytes --] _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [FFmpeg-devel] Politics 2021-12-19 15:16 ` Michael Niedermayer @ 2021-12-19 18:23 ` Soft Works 2021-12-19 18:31 ` Soft Works 0 siblings, 1 reply; 30+ messages in thread From: Soft Works @ 2021-12-19 18:23 UTC (permalink / raw) To: FFmpeg development discussions and patches > -----Original Message----- > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Michael > Niedermayer > Sent: Sunday, December 19, 2021 4:16 PM > To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> > Subject: Re: [FFmpeg-devel] Politics > > On Sat, Dec 18, 2021 at 08:41:09PM +0000, Soft Works wrote: > > > > > > > -----Original Message----- > > > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Daniel > > > Cantarín > > > Sent: Saturday, December 18, 2021 9:05 PM > > > To: ffmpeg-devel@ffmpeg.org > > > Subject: Re: [FFmpeg-devel] Politics > > > > > > > > > > > Then you have never seen anime translations where signage in the > > > > videos are translated. If the subtitles are off even by one frame in > > > > such a case, you will see it, especially when the translated sign is > > > > moving with the video, and one new subtitle event is generated for > > > > every video frame. > > > > You can't sync to audio when the element you are translating is in the > > > > video itself, and not audio. > > > > > > > > - Hendrik > > > > > > This is correct, thank you. > > > 1. If you're translating visuals, you sync to video. > > > 2. If such visual is moving, you may move the translation in sync. > > > > > > I've ignored those cases, and it's correct to remark them. > > > > > > Yet, I understand this is done with video editing UIs, not ffmpeg > filters, > > > specially as it requires to visually match XY coordinates. > > > > > > Also, subtitle communities I know of use timings, not frames, even > > > when doing overlays: "overlay at X:Y:Z.000 time". > > > > > > And a single frame means absolutelly nothing, even in this use cases. > > > > > > So, overall, I fail to see the serious frame-perfect subtitle-video sync > > > problem with the patchset. > > > > The more the focus is moving to "a single frame" doesn't matter, > > the more will that conversation create the impression that my patchset > > would be lacking precision. > > > > In fact we're just talking about a fantasy subject instead of an > > existing problem. > > > > > But there's no need to so much debate: get us some such anime sub, > > > I get the original video somehow, do some tests, and post the results > > > here. I'm open to do the testing work, if others are willing to help me > > > with input examples. > > > > I would also be interested in an example for this, even when it doesn't > > prove any issues. > > > > I'd be really glad when somebody could provide a sample (even privately), > > it could be something I haven't seen yet. > > playing devils advocate here, meaning iam not sure if the example below makes > sense as an argument in this debate but its a interresting case which was > not mentioned > > consider a subtitle track > consider 2 video tracks for US 30000/1001 fps and EU 25 fps > > the 6th frame in the US track is at 0.2002 sec, the 5th in the EU track at > 0.2sec Yes, and we urgently need to buy carrots, because tomorrow, a unicorn might come around the corner and then we wouldn't have anything to feed it. Also, the whole MPEG code should be re-written because next year, there could be a breaking change to the specs, so we should go and rewrite the code to prepare for that possibility. Also we should all buy a red T-Shirt, because aliens might arrive soon at our planet, and they will probably like red colors. ;-) At the serious side: First of all, if such a unicorn video would exist, and you would want to consider this as a realistic problem, then it would be a problem of its own and independent of ffmpeg and there's nothing that ffmpeg could remedy. It's the time resolution of all the subtitle format specifications which do not offer such a fine granularity. And this won't change. Simply because it's not needed and there wouldn't be the slightest advantage. The idea that a high resolution for subtitle timings would be required for being able to match video timings as closely as possible is a misconception. In fact, you couldn't do more wrong than that. :-) (I'm sure some will figure out why) For the unicorn video, we'd first need to know how it was produced. From a movie? Then the two tracks would have a different playback speed, and the two video couldn't use the same subtitle track anyway. I don't think that a camera exists that has a framerate high enough so that you could produce videos at both framerates just from picking original frames. In most other cases, one of the videos would have been converted from the other one. There's high-priced studio and broadcast equipment for doing such conversions, and it requires a mix of different strategies for this. But these can't do magic either, and when we go back to the example above, we'd have to start by wondering what is happening with hard cuts when such conversions are done. Either a hard cut would turn into a slightly smoothed transition over 2 or 3 frames, then subs wouldn't be affected (still hitting the smooth transition. On the other hand, when you would do hard cuts at the nearest neighbour frames in the second video, then that would turn it in do a _different_ video. That different video would have cuts at different time positions. And that means that a single subtitle stream cannot be used for both videos - no matter how high the precision of the subtitle timings would be - it would help anything. Best wishes, softworkz _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [FFmpeg-devel] Politics 2021-12-19 18:23 ` Soft Works @ 2021-12-19 18:31 ` Soft Works 2021-12-20 14:49 ` Michael Niedermayer 0 siblings, 1 reply; 30+ messages in thread From: Soft Works @ 2021-12-19 18:31 UTC (permalink / raw) To: FFmpeg development discussions and patches > -----Original Message----- > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Soft Works > Sent: Sunday, December 19, 2021 7:23 PM > To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> > Subject: Re: [FFmpeg-devel] Politics > > > > > -----Original Message----- > > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Michael > > Niedermayer > > Sent: Sunday, December 19, 2021 4:16 PM > > To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> > > Subject: Re: [FFmpeg-devel] Politics > > > > On Sat, Dec 1 8, 2021 at 08:41:09PM +0000, Soft Works wrote: > I don't think that a camera exists that has a framerate high enough so that > you could produce videos at both framerates just from picking original > frames. I forgot to mention that I mean a high speed camera which can work at such an odd rate (least common multiple..) _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [FFmpeg-devel] Politics 2021-12-19 18:31 ` Soft Works @ 2021-12-20 14:49 ` Michael Niedermayer 2021-12-20 22:35 ` Soft Works 0 siblings, 1 reply; 30+ messages in thread From: Michael Niedermayer @ 2021-12-20 14:49 UTC (permalink / raw) To: FFmpeg development discussions and patches [-- Attachment #1.1: Type: text/plain, Size: 1358 bytes --] On Sun, Dec 19, 2021 at 06:31:38PM +0000, Soft Works wrote: > > > > -----Original Message----- > > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Soft Works > > Sent: Sunday, December 19, 2021 7:23 PM > > To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> > > Subject: Re: [FFmpeg-devel] Politics > > > > > > > > > -----Original Message----- > > > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Michael > > > Niedermayer > > > Sent: Sunday, December 19, 2021 4:16 PM > > > To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> > > > Subject: Re: [FFmpeg-devel] Politics > > > > > > On Sat, Dec 1 > 8, 2021 at 08:41:09PM +0000, Soft Works wrote: > > > I don't think that a camera exists that has a framerate high enough so that > > you could produce videos at both framerates just from picking original > > frames. > > I forgot to mention that I mean a high speed camera which can work at such an > odd rate (least common multiple..) for sake of this argument being complete, teh video is computer generated so sampling at any time instance is possible and exact. thx [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB No great genius has ever existed without some touch of madness. -- Aristotle [-- Attachment #1.2: signature.asc --] [-- Type: application/pgp-signature, Size: 195 bytes --] [-- Attachment #2: Type: text/plain, Size: 251 bytes --] _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [FFmpeg-devel] Politics 2021-12-20 14:49 ` Michael Niedermayer @ 2021-12-20 22:35 ` Soft Works 2021-12-20 23:20 ` Soft Works 0 siblings, 1 reply; 30+ messages in thread From: Soft Works @ 2021-12-20 22:35 UTC (permalink / raw) To: FFmpeg development discussions and patches > -----Original Message----- > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Michael > Niedermayer > Sent: Monday, December 20, 2021 3:50 PM > To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> > Subject: Re: [FFmpeg-devel] Politics > > On Sun, Dec 19, 2021 at 06:31:38PM +0000, Soft Works wrote: > > > > > > > -----Original Message----- > > > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Soft > Works > > > Sent: Sunday, December 19, 2021 7:23 PM > > > To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> > > > Subject: Re: [FFmpeg-devel] Politics > > > > > > > > > > > > > -----Original Message----- > > > > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of > Michael > > > > Niedermayer > > > > Sent: Sunday, December 19, 2021 4:16 PM > > > > To: FFmpeg development discussions and patches <ffmpeg- > devel@ffmpeg.org> > > > > Subject: Re: [FFmpeg-devel] Politics > > > > > > > > On Sat, Dec 1 > > 8, 2021 at 08:41:09PM +0000, Soft Works wrote: > > > > > I don't think that a camera exists that has a framerate high enough so > that > > > you could produce videos at both framerates just from picking original > > > frames. > > > > I forgot to mention that I mean a high speed camera which can work at such > an > > odd rate (least common multiple..) > > for sake of this argument being complete, teh video is computer generated > so sampling at any time instance is possible and exact. Is that so? First of all, we need to decide about what kind of computer generation we are talking exactly? Is it generating a point-in-time picture for each frame start time? Assuming generated video of a situation where visual events that would start at 10ms, disappear after a duration of 20ms and repeat that every 40ms. These things would never be visible in the EU video, but in the US video. You mentioned "sampling", so I guess you mean that each frame would represent the appearance averaged over the frame duration, right? Of course that's a much more correct way to reflect reality. Enlightened by this, let's go back to to your example. The EU frame has a duration of 40ms, the US frame 33.3ms. The US frame start 0.02ms later and is fully included in the duration of the EU frame. If the US-to-EU conversion (or other direction) has been done in a natural way without human intervention and explicit cutting, then the example is busted once another time. Want I can't precisely answer (but wondering) , is whether it would even pe possible to have single audio stream in the same container that could work with both video..? Thanks, softworkz _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [FFmpeg-devel] Politics 2021-12-20 22:35 ` Soft Works @ 2021-12-20 23:20 ` Soft Works 2021-12-21 18:38 ` Michael Niedermayer 0 siblings, 1 reply; 30+ messages in thread From: Soft Works @ 2021-12-20 23:20 UTC (permalink / raw) To: FFmpeg development discussions and patches > -----Original Message----- > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Soft > Works > Sent: Monday, December 20, 2021 11:35 PM > To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> > Subject: Re: [FFmpeg-devel] Politics > > > > > -----Original Message----- > > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org<mailto:ffmpeg-devel-bounces@ffmpeg.org>> On Behalf Of Michael > > Niedermayer > > Sent: Monday, December 20, 2021 3:50 PM > > To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org<mailto:ffmpeg-devel@ffmpeg.org>> > > Subject: Re: [FFmpeg-devel] Politics > > > > On Sun, Dec 19, 2021 at 06:31:38PM +0000, Soft Works wrote: > > > > > > > > > > -----Original Message----- > > > > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org<mailto:ffmpeg-devel-bounces@ffmpeg.org>> On Behalf Of > Soft > > Works > > > > Sent: Sunday, December 19, 2021 7:23 PM > > > > To: FFmpeg development discussions and patches <ffmpeg-<mailto:ffmpeg-devel@ffmpeg.org> > devel@ffmpeg.org<mailto:ffmpeg-devel@ffmpeg.org>> > > > > Subject: Re: [FFmpeg-devel] Politics > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org<mailto:ffmpeg-devel-bounces@ffmpeg.org>> On Behalf Of > > Michael > > > > > Niedermayer > > > > > Sent: Sunday, December 19, 2021 4:16 PM > > > > > To: FFmpeg development discussions and patches <ffmpeg- > > devel@ffmpeg.org<mailto:devel@ffmpeg.org>> > > > > > Subject: Re: [FFmpeg-devel] Politics > > > > > > > > > > On Sat, Dec 1 > > > 8, 2021 at 08:41:09PM +0000, Soft Works wrote: > > > > > > > I don't think that a camera exists that has a framerate high enough > so > > that > > > > you could produce videos at both framerates just from picking > original > > > > frames. > > > > > > I forgot to mention that I mean a high speed camera which can work at > such > > an > > > odd rate (least common multiple..) > > > > for sake of this argument being complete, teh video is computer generated > > so sampling at any time instance is possible and exact. > > Is that so? > > First of all, we need to decide about what kind of computer generation > we are talking exactly? > > Is it generating a point-in-time picture for each frame start time? > Assuming generated video of a situation where visual events that would > start > at 10ms, disappear after a duration of 20ms and repeat that every 40ms. > These things would never be visible in the EU video, but in the US > video. > > You mentioned "sampling", so I guess you mean that each frame would > represent > the appearance averaged over the frame duration, right? > Of course that's a much more correct way to reflect reality. > > Enlightened by this, let's go back to to your example. The EU frame has a > duration of 40ms, the US frame 33.3ms. The US frame start 0.02ms later and > is fully included in the duration of the EU frame. Seems I accidentally deleted a paragraph: The two frames are almost congruent in start and to a large percentage in duration, and as they are meant to present the same picture it cannot happen at all that only one of them would have a hard change (like from white to black or something appearing or disappearing within a short > If the US-to-EU conversion (or other direction) has been done in a natural > way without human intervention and explicit cutting, then the example is > busted once another time. > > Want I can't precisely answer (but wondering) , is whether it > would even pe possible to have single audio stream in the same container > that could work with both video..?^ _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [FFmpeg-devel] Politics 2021-12-20 23:20 ` Soft Works @ 2021-12-21 18:38 ` Michael Niedermayer 2021-12-22 10:23 ` Soft Works 0 siblings, 1 reply; 30+ messages in thread From: Michael Niedermayer @ 2021-12-21 18:38 UTC (permalink / raw) To: FFmpeg development discussions and patches [-- Attachment #1.1: Type: text/plain, Size: 1580 bytes --] On Mon, Dec 20, 2021 at 11:20:38PM +0000, Soft Works wrote: [...] > > Enlightened by this, let's go back to to your example. The EU frame has a > > > duration of 40ms, the US frame 33.3ms. The US frame start 0.02ms later and > > > is fully included in the duration of the EU frame. > > > > Seems I accidentally deleted a paragraph: > > > > The two frames are almost congruent in start and to a large percentage in duration, and as they are meant to present the same picture > > it cannot happen at all that only one of them would have a hard change (like from white to black or something appearing or disappearing within a short video frames often are not sampled accross the whole period representing the frame. just look at some video with fast moving things now what can give you a sub ms change a scene change, an instantaneos cut from one scene to another a flipped light switch, an explosion, an electric arc striking something a camera flash, a spinning wheel with hole or a black/white pattern a laser pointer just gently waving over your camera or something seen by your camera, a fast moving object between the camera and light source and many more btw if it would be impossible to take really short duration images with a flash then alot of images taken that way from fast moving objects like bullets couldnt exist. thx [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB If you think the mosad wants you dead since a long time then you are either wrong or dead since a long time. [-- Attachment #1.2: signature.asc --] [-- Type: application/pgp-signature, Size: 195 bytes --] [-- Attachment #2: Type: text/plain, Size: 251 bytes --] _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [FFmpeg-devel] Politics 2021-12-21 18:38 ` Michael Niedermayer @ 2021-12-22 10:23 ` Soft Works 0 siblings, 0 replies; 30+ messages in thread From: Soft Works @ 2021-12-22 10:23 UTC (permalink / raw) To: FFmpeg development discussions and patches > -----Original Message----- > From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Michael > Niedermayer > Sent: Tuesday, December 21, 2021 7:39 PM > To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> > Subject: Re: [FFmpeg-devel] Politics > > On Mon, Dec 20, 2021 at 11:20:38PM +0000, Soft Works wrote: > [...] > > > Enlightened by this, let's go back to to your example. The EU frame has a > > > > > duration of 40ms, the US frame 33.3ms. The US frame start 0.02ms later > and > > > > > is fully included in the duration of the EU frame. > > > > > > > > Seems I accidentally deleted a paragraph: > > > > > > > > The two frames are almost congruent in start and to a large percentage in > duration, and as they are meant to present the same picture > > > > it cannot happen at all that only one of them would have a hard change > (like from white to black or something appearing or disappearing within a > short > > video frames often are not sampled accross the whole period representing the > frame. just look at some video with fast moving things > > now what can give you a sub ms change > a scene change, an instantaneos cut from one scene to another > a flipped light switch, an explosion, an electric arc striking something > a camera flash, a spinning wheel with hole or a black/white pattern > a laser pointer just gently waving over your camera or something seen by > your camera, a fast moving object between the camera and light source > and many more Yes, but that invalidates your claim that videos created from computer generated sources would always be "exact". And in fact those things are done in a very different way. I'm familiar with 3D animations since the initial release of 3D Studio (the DOS based one, not Max), and some friends of mine are doing this on a professional basis, so I'm pretty familiar with the procedures. It is important to understand that 3D animations, with its tooling and all the techniques involved are not doing simulations of reality. Instead, it's only about creating visuals that look like reality as close as possible, and the methods involved are in many ways different from the actual physics by which our reality is driven. So, one important thing to note is, that it doesn't work in a way like you described above, that an animation is created once, independent of presentation framerate, and then you could create videos from that definition at arbitrary framerates - no way to do it like that, given the way animations are done nowadays. Just the opposite is true: I don't know any other video creation discipline where the individual output frame "raster" is more important and getting more attention and individual work than with computer animations. After the creative part (and other steps) are done, the whole animation is undergoing another stage that is all about output frames. Every single frame of the animation is rendered for the given output framerate, and all timings key-frame timings and values are specifically adjusted for that output framerate. There are many reasons why this needs to be done; for most, it burns down to avoiding visual artifacts, imperfections, "ghost" visuals and also for having "clean cuts" (intra-scene, not the cutting that is done even later between scenes). This is a tedious and time-consuming process which can take many weeks any a large team, depending on the length of the output. When an output at a different framerate is needed, that whole process needs to be repeated, and in the end you will have a different animation definition for the new framerate with hundreds or thousands of tiny differences. Another point one might find interesting is that none of those applications is working with time bases at precisions like we are talking about here. I'm still wondering whether somebody will get the twist... softworkz _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [FFmpeg-devel] Politics 2021-12-18 15:43 ` Soft Works 2021-12-18 17:53 ` Lynne @ 2021-12-18 17:59 ` Daniel Cantarín 1 sibling, 0 replies; 30+ messages in thread From: Daniel Cantarín @ 2021-12-18 17:59 UTC (permalink / raw) To: ffmpeg-devel >> as well as ATSC subtitles > > There are like 2 or 3 characters in each frame. Sometimes > they are shown as they are coming in, sometimes only > when a line is completed, sometimes needs to wait > for subsequent frames before emitting new characters. > This is really not a high-precision thing. Can confirm. I did implemented this using video filters, precisely because we don't have subtitle filters and I was forced to do OCR. It works OK, but it's unrealiable when speaking about timings. You have 2 bytes/chars per frame, non-ascii chars use 2 bytes, and there are also commands that also use one or two bytes. This leaves you with a max speed of 60 chars per second for a 30 FPS video stream: a condition no other subtitle/caption format that I know of share. When there's fast dialogue, it desyncs. It later re-syncs: it doesn't drift away. But dialogue faster than 60 chars (including non-ascii and command) per second does affect the captions timings. But there's more. Implementations in players are chaotic, and some commands are ignored or works erratically. Also, there are line width issues: 30 chars max by the standard, even when some players change that. But you have to deal with word wrapping by doing text treatment and applying commands. Then there's 4 modes of rendering, as you say, which you are supposed to control but then players do what they want, and given that this are bytes added to the video frames you gotta encode two different video streams if you want to have two different caption configurations. It may be the most available format in the world. But it's also a PITA because a lot of details, and that's why I'm so interested in finally having subtitles in filters first, and dealing with the internal details later. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [FFmpeg-devel] Politics 2021-12-18 13:32 ` Lynne 2021-12-18 14:28 ` Soft Works @ 2021-12-18 15:41 ` Daniel Cantarín 1 sibling, 0 replies; 30+ messages in thread From: Daniel Cantarín @ 2021-12-18 15:41 UTC (permalink / raw) To: ffmpeg-devel > I also am not accepting a hardcoded timebase of microseconds. > Rounding really matters for subtitles, since presenting them > a frame early or late is unacceptable That's simply not true. I don't accept or deny a hardcoded microseconds timebase; that's beyond my knowledge to judge. What I say is not true is the other sentence: "presenting them a frame early or late is unnaceptable". That's a gross exaggeration, and should not be a blocker. In my country everyone uses subtitles since decades ago, and people cares about timing only when there's seconds of desync. Yeah, seconds in plural: a single second most likely would be accepted. We're talking about dozens of frames here. Of course, I wouldn't say "innacurate is right". But I wouln't also block other people's work using unreal standards. Now, DRIFTING would be a different beast, and microseconds leaks should be a serious issue for 24/7 streams. I don't see people debating such problem, and "a sigle frame off" is a wrong angle for talking milliseconds precision and rounding. Also, I did some tests with softworkz code, and timings seems working fine with production inputs. I saw several people here talking about complex graphs with different timebases, and changes between subtitle formats. I believe the debate would be much less abstract if somebody could kindly put some example here we could all test for ourselves. I understand nobody could have a full idea of all possible scenarios: that would be unfair to ask for. But I believe people with observations about possible breaking use cases would have such use cases more likely available in mind and could share them with us. I DID actually find problems with timings in softworkz code. But those problems were anything like the things debated here. You see, I've tried to use setpts and asetpts in my graphs, yet there's no ssetpts. Other filters had the same problem. Also, there are live-streaming muxers and codecs that does not support subtitles. See this, for example: https://github.com/FFmpeg/FFmpeg/blob/master/libavformat/hls.c#L506 Or this: https://github.com/FFmpeg/FFmpeg/blob/master/libavformat/dashenc.c#L1066 But I believe those issues can be handled isolated once there's subtitle filtering implemented, so I don't consider them part of this debate per se. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". ^ permalink raw reply [flat|nested] 30+ messages in thread
end of thread, other threads:[~2021-12-22 20:17 UTC | newest] Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-12-20 13:48 [FFmpeg-devel] Politics Daniel Cantarín -- strict thread matches above, loose matches on Subject: below -- 2021-12-20 16:27 Daniel Cantarín 2021-12-20 14:06 Daniel Cantarín 2021-12-20 15:23 ` Michael Niedermayer 2021-12-22 13:29 ` Soft Works 2021-12-22 19:54 ` Michael Niedermayer 2021-12-22 20:17 ` Soft Works [not found] <8dbfd345-c661-459e-b242-94830107eae3@www.fastmail.com> [not found] ` <DM8P223MB0365510C72E8CFEF027FF97FBA749@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM> [not found] ` <MqpKkF_--7-2@lynne.ee> [not found] ` <DM8P223MB0365FEDCCEFB370D20979CF5BA749@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM> [not found] ` <c2f7048d-a1b6-253e-8a50-7fdf9a34ada3@canta.com.ar> [not found] ` <DM8P223MB036596CACBB6509CB1AE78CBBA759@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM> [not found] ` <CAPYw7P64=axtAC0-8Ux+1d+f8WEseuWk9OkhmbAnNWp-eRpq8A@mail.gmail.com> 2021-12-15 13:34 ` Soft Works 2021-12-18 10:26 ` Paul B Mahol 2021-12-18 11:34 ` Soft Works 2021-12-18 13:32 ` Lynne 2021-12-18 14:28 ` Soft Works 2021-12-18 15:16 ` Lynne 2021-12-18 15:43 ` Soft Works 2021-12-18 17:53 ` Lynne 2021-12-18 18:16 ` Daniel Cantarín 2021-12-18 18:30 ` Hendrik Leppkes 2021-12-18 18:49 ` Soft Works 2021-12-18 20:05 ` Daniel Cantarín 2021-12-18 20:41 ` Soft Works 2021-12-19 15:16 ` Michael Niedermayer 2021-12-19 18:23 ` Soft Works 2021-12-19 18:31 ` Soft Works 2021-12-20 14:49 ` Michael Niedermayer 2021-12-20 22:35 ` Soft Works 2021-12-20 23:20 ` Soft Works 2021-12-21 18:38 ` Michael Niedermayer 2021-12-22 10:23 ` Soft Works 2021-12-18 17:59 ` Daniel Cantarín 2021-12-18 15:41 ` Daniel Cantarín
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel This inbox may be cloned and mirrored by anyone: git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \ ffmpegdev@gitmailbox.com public-inbox-index ffmpegdev Example config snippet for mirrors. AGPL code for this site: git clone https://public-inbox.org/public-inbox.git