Re: [Mlt-devel] preserving source video quality (-sameq?)
Brought to you by:
ddennedy,
lilo_booter
From: Dan D. <da...@de...> - 2011-02-14 18:36:20
|
On Mon, Feb 14, 2011 at 10:10 AM, Bogdan Licar <ree...@gm...> wrote: > I have to use melt, since this is part of a web app dealing with video > editing. But you could compare your experience with using a frontend that already embodies quite a bit of knowledge to see how it compares with your experience trying to learn melt. > Anyway, I'm dealing with variable frame rate videos, so maybe that's the > problem. > > Here you can download a sample clip I'm working on (500KB) > http://www.mediafire.com/?px20612m82idsu4 > When I play it with "melt clip.flv" the video is too fast and the audio out > of sync. > In order to play it at the correct speed I have to use a profile, otherwise > I don't know any other way to do that. More often than not you _should_ specify a profile especially if you are executing a composition. More than likely, without a profile and with a variable fps, melt detects and tries to use some strange fps. > It plays at the correct speed with frame_rate_num=25 frame_rate_den=4, but > this obviously has a crappy fps. > > If I join it with a video with the same codec and stream settings, I get > fast forwarded videos and out of sync audios, > with most of black screen, since, for instance, for the clip above -consumer > xml returns out=133, but the output clip ends way before that. > > Really stuck here, perhaps converting it all to a constant frame rate could > solve the problem. I already told you about the state of support for variable fps. > On Mon, Feb 14, 2011 at 6:48 PM, Dan Dennedy <da...@de...> wrote: >> >> On Mon, Feb 14, 2011 at 8:50 AM, Bogdan Licar <ree...@gm...> >> wrote: >> > Hi Dan, >> > which is the best way of dealing with videos with different framerates, >> > when >> > joining them together? >> >> It is automatic. All inputs are conformed to the output framerate >> expressed by the profile or a consumer property overriding the profile >> fps. >> >> > I'm not talking about the troublesome videos, but clean ones. Should I >> > convert them all to one fps, and then join them? >> >> no >> >> > Because I'm having problems here, I don't know which >> > profile settings to use when >> > reading the framerates from the xml consumer and when joining them >> > together. >> >> I do not understand, and you have not provided much information. You >> use the profile settings that you want to use, which is not >> necessarily based on the inputs. When authoring MLT XML or using melt >> command line syntax you express timing in frame units based on the >> output fps. Maybe you should try using a gui frontend like OpenShot or >> Kdenlive. >> >> > On Tue, Feb 8, 2011 at 10:26 PM, Dan Dennedy <da...@de...> wrote: >> >> >> >> On Tue, Feb 8, 2011 at 1:06 PM, Bogdan Licar <ree...@gm...> >> >> wrote: >> >> > Thanks for the reply :) >> >> > >> >> > I'm using melt for joining plenty of clips with fade in, fade out, >> >> > and >> >> > watermark effects on them. >> >> > So I pretty much need it, there's nothing else that good. >> >> >> >> OK, I was under the wrong impression. >> >> >> >> > What I do now is -consumer avformat:video.mp4 qscale=.1, and I manage >> >> > to >> >> > preserve >> >> > source video quality, but I still have the speed problem - the sound >> >> > plays >> >> > at the correct speed though. >> >> > >> >> > If I set frame_rate_num=1 and frame_rate_den=1, the speed is correct, >> >> > but I >> >> > obviously get only 1 >> >> > frame per second. >> >> > >> >> > So I've checked and mediainfo says it's a variable framerate, as you >> >> > guessed. >> >> > Then I've converted my clip to a constant 25 framerate, with ffmpeg's >> >> > -r >> >> > option. >> >> > Here's the new xml output (the stream frame rate is 25, but the >> >> > codec's >> >> > frame rate is still 1000, >> >> > dunno what this actually means). http://pastebin.com/UxpQjbVM >> >> >> >> Did you use -vcodec copy? If so, then I do not think it actually drops >> >> and repeats frames as needed. It just set the data in the container >> >> file to indicate 25 fps. >> >> >> >> > I'm working with videos recorded from various webcams and with this >> >> > particular video - with the constant >> >> > framerate - I still can't get the right speed (although I get very >> >> > close >> >> > to >> >> > it when I set frame_rate_num=5, frame_rate_den=1; >> >> >> >> I have had some good results converting troublesome inputs to a >> >> lossless matroska: >> >> ffmpeg -i the.flv -vcodec huffyuv -acodec flac out.mkv >> >> >> >> If you want to output from melt in that format: melt ... -consumer >> >> avformat:out.mkv vcodec=huffyuv acodec=flac >> >> >> >> > with a lower numerator, it won't play at all). But with other webcam >> >> > recorded videos changing to constant framerate and >> >> > setting a profile with a 25 framerate ratio works. So this particular >> >> > clip >> >> > is somehow corrupted - timestamps issues I guess. >> >> > >> >> > thanks again Dan >> >> > >> >> > On Tue, Feb 8, 2011 at 7:41 PM, Dan Dennedy <da...@de...> wrote: >> >> >> >> >> >> On Tue, Feb 8, 2011 at 5:02 AM, Bogdan Licar >> >> >> <ree...@gm...> >> >> >> wrote: >> >> >> > I've tried converting my videos using libx264 - recorded with the >> >> >> > webcam >> >> >> > - >> >> >> > but they have >> >> >> > some problems (bad timestamps), but I've managed to convert them >> >> >> > to >> >> >> > other hq >> >> >> > flash videos. >> >> >> > >> >> >> > But now I have the profile problem: I can't seem to get the >> >> >> > correct >> >> >> > framerate in order to >> >> >> > play the video with melt at the correct speed (it's always too >> >> >> > fast). >> >> >> > Here's >> >> >> > the -consumer xml >> >> >> > output on a 28second video http://pastebin.com/JV50kAbd >> >> >> > I've tried frame_rate_num=25 and frame_rate_den=1 and other >> >> >> > combinations, >> >> >> > but it's always too fast. >> >> >> >> >> >> I can understand how you may think it is a profile problem but it is >> >> >> not. Theoretically, you can change the profile framerate at will and >> >> >> the framework will conform all inputs to it. Therefore, a speed >> >> >> problem is almost always due to the producer misbehaving - >> >> >> ffmpeg-based avformat in this case. In looking at your XML, I see it >> >> >> is reporting a fps of 1000. I usually see that with variable >> >> >> framerate >> >> >> clips, and unfortunately, MLT does not handle variable framerate >> >> >> very >> >> >> well at all. So, at this time I tell people that is not supported, >> >> >> and >> >> >> I am personally not going to look into improving that any time soon. >> >> >> A >> >> >> simple way to confirm the variable framerate is with the mediainfo >> >> >> command. >> >> >> >> >> >> Sorry to be such a bummer on this thread. I would say based upon >> >> >> your >> >> >> goals to simply cut flv, no image filtering, a desire to use sameq, >> >> >> and variable inputs that MLT is a very bad fit for you. You may want >> >> >> to stick with the ffmpeg command line or maybe avidemux will work. >> >> >> >> >> >> > Thanks again, Dan >> >> >> > >> >> >> > On Mon, Feb 7, 2011 at 9:14 PM, Dan Dennedy <da...@de...> >> >> >> > wrote: >> >> >> >> >> >> >> >> On Mon, Feb 7, 2011 at 11:42 AM, Bogdan Licar >> >> >> >> <ree...@gm...> >> >> >> >> wrote: >> >> >> >> > Hi Dan, >> >> >> >> > so how could I export to a high quality flv? With the help of a >> >> >> >> > profile? >> >> >> >> > Because right I'm getting a low quality output flv, and I've >> >> >> >> > also >> >> >> >> > tried >> >> >> >> > using >> >> >> >> > a profile with the same settings as the source video. >> >> >> >> >> >> >> >> MLT profile has nothing to do with encoding quality. The only way >> >> >> >> to >> >> >> >> get good quality FLV is to use the H.264 video codec because the >> >> >> >> Flash >> >> >> >> 6 (Sorenson) video codec sucks no matter what you try to do. Of >> >> >> >> course, it is all relative. Also, of course, if you using Flash 6 >> >> >> >> FLV >> >> >> >> as input, then garbage in is garbage out. Do you know the ffmpeg >> >> >> >> parameters not using -sameq to encode your idea of "high qulity >> >> >> >> flv?" >> >> >> >> If so, then use them in melt after the "-consumer avformat". If >> >> >> >> you >> >> >> >> do >> >> >> >> not know then search the web for suggestions or look at what >> >> >> >> tools >> >> >> >> like Kdenlive, WinFF, and other FFmpeg frontends are using - the >> >> >> >> ones >> >> >> >> with which you have had good results. >> >> >> >> >> >> >> >> > Thanks >> >> >> >> > >> >> >> >> > On Mon, Feb 7, 2011 at 7:32 PM, Dan Dennedy <da...@de...> >> >> >> >> > wrote: >> >> >> >> >> >> >> >> >> >> On Sun, Feb 6, 2011 at 8:31 PM, Bogdan Licar >> >> >> >> >> <ree...@gm...> >> >> >> >> >> wrote: >> >> >> >> >> > Hi, >> >> >> >> >> > I'm joining some flv videos into a single one, but the >> >> >> >> >> > output >> >> >> >> >> > video >> >> >> >> >> > has >> >> >> >> >> > a >> >> >> >> >> > much lower quality than the various clips. >> >> >> >> >> > In ffmpeg I can add a -sameq parameter, and the quality is >> >> >> >> >> > preserved, >> >> >> >> >> > but >> >> >> >> >> > this doesn't work in melt when I add >> >> >> >> >> > it at the end of the melt command. >> >> >> >> >> > >> >> >> >> >> > Is there a way to make melt preserve source video quality? >> >> >> >> >> >> >> >> >> >> melt does not support -sameq. >> >> >> >> >> In MLT, everything is brought to uncompressed and re-encoded, >> >> >> >> >> if >> >> >> >> >> necessary. >> >> >> >> >> >> >> >> >> >> -- >> >> >> >> >> +-DRD-+ >> >> >> >> > >> >> >> >> > >> >> >> > >> >> >> > >> >> >> >> >> >> >> >> >> >> >> >> -- >> >> >> +-DRD-+ >> >> > >> >> > >> >> >> >> >> >> >> >> -- >> >> +-DRD-+ >> > >> > >> >> >> >> -- >> +-DRD-+ > > > ------------------------------------------------------------------------------ > The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE: > Pinpoint memory and threading errors before they happen. > Find and fix more than 250 security defects in the development cycle. > Locate bottlenecks in serial and parallel code that limit performance. > http://p.sf.net/sfu/intel-dev2devfeb > _______________________________________________ > Mlt-devel mailing list > Mlt...@li... > https://lists.sourceforge.net/lists/listinfo/mlt-devel > > -- +-DRD-+ |