Go
Not registered? Sign up!

H264 playback jerky

Google Translate
19 posts | return to the General Chat forum | get the rss feed for this thread

Oct. 15, 2009Gora

I can't get any H.264 video to play back smoothly in Firefox and Internet Explorer without jerkiness/dropping frames.

Opers, Safari, Chrome and local VLC play files OK.

CPU 25% loaded.

Put smoothing=false, quality="low" - nothing helps.
Video encoded with VBR 2-pass high profile.

Could anybody help? Thanks in advance!

Oct. 15, 2009trollope

See Jeroen's post about the encoding profiles in this thread http://www.longtailvideo.com/support/forum/Bug-Reports/14466/Incredibly-Inefficient-MP4-H-264-RTMP-Streaming#msg100304

flash also seems to get bound up with disk I/O, so if you are simultaneously downloading and playing the video file, it may stutter. Usually, once the downloading has finished playback is smooth.

For Firefox, you might try this fix for Flash Video Stuttering in Firefox

This appears to be a problem of Firefox's session restore feature that affects both Windows and Mac versions.

You can either turn off the session restore feature altogether. Or you can lengthen the period of time between snapshots.

To do this, type about:config into Firefox's address bar, then in filter box enter browser.sessionstore.interval.

The default value is 10000, which is the number of milliseconds between snapshots.

Setting the number to 120000 lengthens the period to two minutes, a more reasonable but still useful period.

You can set it to whatever you want; keep in mind that you're dealing with milliseconds.

Oct. 16, 2009Gora

Thanks, trollope!

>See Jeroen's post...
CPU is far from overload and High profile is really great vs Main

>browser.sessionstore.interval...
I am tried this, but nothing changes
And jerk frequencies are different for different videos.

>Usually, once the downloading has finished playback is smooth.
True! BINGO somewhere here... But in all browser except IE and FF playback is smooth in any case and disk I/O are the same for them, so I hope to find solution. Force users to wait untill download complete is a really BAD thing.

Oct. 16, 2009bezaubernd

If your problem is disk I/O, it won't show up in the CPU utilization. You have to use a specialized tool to see disk I/O.

Anyway, the only way to fix this, is to encode your file at lower bitrates, less compression, smaller size, etc.

Oct. 16, 2009Gora

bezaubernd, seems, its not a disk I/O problem. Disk resources are far from exhaustion.

I said "True" only to "once the downloading has finished playback is smooth".

Probably, somehow it is connected with the features of flash plugin of FF and IE when simultaneous download and playback occurs...

Plugins are up-to-date.

Seems, that the frames drop every time on the same places of the movie. I tried to encode with GOP 25 and 250 (frame rate 25) and nothing changes.

Oct. 16, 2009bezaubernd

How did you measure the disk I/O?

You can use Windows System Monitor to see if your application is disk I/O bound. See http://msdn.microsoft.com/en-us/library/ms175903.aspx

When I run it with Flash simultaneously downloading (and caching) and playing a large, high-quality MP4 file, the disk I/O frequently is over 90% until the MP4 file has finished downloading.

Another way to get out of this bind, is to serve the MP4 file from an RTMP server, in which case, there is no local caching and disk I/O is greatly reduced.

Oct. 16, 2009Gora

Yes, Windows System Monitor is cool. It shows nearly zero file system load and I/O

>disk I/O frequently is over 90%
In my case, 5Mb cable shouldnt be a 60Mb/s disk hog...

RTMP server? Yes, its real idea how to solve a problem - but in case it is I/O problem.

Oct. 16, 2009hobbs

You usually see the stuttering in fast-changing scenes.

Maybe you need to change the motion-estimation and motion-compensation settings in your encoder???

Oct. 17, 2009Gora

hobbs, cool idea, thanks!

I will test it and report results today.

Oct. 17, 2009Frank

All I know is as an end user, any live streaming that uses your player is crap.

I dont know any of the programming stuff your talking about but I do notice that the application loads fast enough but when it comes to streaming the content it slows down to an unusable pace. sometimes 1000 b/sec other players are happy to stream at over 100,000 b/sec and drop only a few frames.

Anytime I see the face of your player I instantly shut down and look for someone streaming with another player. Sometimes there are only links on ATDHE.Net using yoru player... and when that happens I cant watch.

So in the end I go to justin.tv, they use a different viewer, quality is low, not even half my bandwidth but the stream is constant and i can get something.

your player sucks.

Oct. 17, 2009anotherTroll

Hi Frank,

Troll much???

Oct. 17, 2009Gora

Not only to Frank: I test Flowplayer, and the problem was the same. I wouldn say anything bad about Flowplayer ... but i like JWPlayer and do appreciate Jeroen's efforts. And also my respect to members of this forum.

Frank. I know players that really sucks together with their authors. So, probably You just type in wrong window wink

Oct. 23, 2009Stefan

I have the same problem...

i encode the video in Cleaner XL and it runs fine. i encode it in Carbon Coder (my preferred setup) and it's jerky. but the shadowbox player plays them both smoothly when it uses the quicktime engine.

it's very upsetting :-/

Oct. 23, 2009Stefan

BTW - I just found the solution:

it is indeed (like mentioned in an older thread) a problem with the profile.

you have to use the "main profile/3.0" - if you use the "high profile/3.1" like i did before the videos do not play smooth

now my vids play fine using the pseudo streaming plugin

Oct. 23, 2009Gora

Cool, thank You, I will try.

Just one remark IMHO: one can not define Profile Levels (1.2, 2.3, 3.0, 3.1 etc..) in the encoder options.

This is defined by encoder and depends from number of macroblocks and video bit rate of an output movie.

Oct. 23, 2009hobbs

ffmpeg

-vpre default (Main profile)
(drop to the Baseline profile with coder=0)

-vpre normal (High profile)

-vpre hq (higher than High profile)

-vpre max (ridiculously High profile)

Nov. 06, 2009Gora

hobbs, sorry, wrong
There is no direct mapping between profiles and presets.
You can get Main profile if remove
partitions=+parti8x8
flags2=+dct8x8

I changed profile to Main. I am not sure, that this really helps, but in any case, profiles connected with the playback behavour.

Nov. 06, 2009hobbs

 
@Gora,

Did you read this Guide?

    http://rob.opendot.cl/index.php/useful-stuff/ffmpeg-x264-encoding-guide/

What release of ffmpeg are you using?

The presets seem to work in r19919 ??????????

Nov. 07, 2009Gora

@hobbs

ffmpeg-0.5

There is no "libx264-main.ffpreset" preset in my /usr/local/share/ffmpeg/, so I cant use -vpre main

I believe, that it is possible to adjast my favorite HQ Preset to Main Profile as I described above, and my MediaInfo shows me that it is really true.

In other words:

* Baseline Profile
- I/P slices
- Multiple reference frames (–refs <int>, >1 in the x264 CLI)
- In-loop deblocking
- CAVLC entropy coding (–no-cabac in the x264 CLI)

* Main Profile
- Baseline Profile features mentioned above
- B slices
- CABAC entropy coding
- Interlaced coding – PAFF/MBAFF
- Weighted prediction

* High Profile
- Main Profile features mentioned above
- 8x8 transform option (–8x8dct in the x264 CLI)
- Custom quantisation matrices

Add a reaction

You can also return to the category or try this search for related threads.


 

Search the Forums

Go

Support

Support Here are some helpful links to learn more about the JW Player™:

Monetize Your Video

Monetize Your Video Earn money with ads from LongTail's AdSolution. Watch our demos and sign up now!

Why Buy a License?

Why Buy a License? If you don’t buy a commercial license, you cannot use a JW Player™ on (i) a site that has ads; (ii) a corporate site; or a (iii) CMS. Our licenses are very inexpensive, so what are you waiting for? Buy a license today.