maddox / wallop

📺 A transcoding server for your HDHomeRun Prime
167 stars 41 forks source link

Video stutter / choppy both SD and HD regardless of resolution or bitrate #33

Closed andydupont closed 8 years ago

andydupont commented 10 years ago

Maddox, I love your work on Wallop and it has caused me to explore ffmpeg and its streaming capabilities. I also had to learn a bit about ruby, home-brew etc. Thanks for the effort you have put into this. The streams I get are usable, but with some issues. Even after letting them line out for a minute or two, I still have issues and am trying to find out what can be done to get smooth HD video (720 p would be OK).

I am using ffmpeg 2.2.2 and have tried different versions of x264.rb as your vendor file does not have a copy. What do you suggest as the best source for x264.rb as the versions do vary greatly?

I get choppy video or stutter and pixilation several times per minute. I am on a desktop Mac with ethernet connection to the HDHomeRun. I am using a quad core i5 running at 3.4 Ghz and 16 GB of Ram.

So my issue seems to be software and not hardware related. Here is a small segment of the ffmpeg log file:

[mpeg2video @ 0x7f9c0a81d200] Invalid frame dimensions 0x0. Last message repeated 18 times [mpegts @ 0x7f9c0a017800] Could not find codec parameters for stream 2 (Unknown: none ([134][0][0][0] / 0x0086)): unknown codec Consider increasing the value for the 'analyzeduration' and 'probesize' options [mpegts @ 0x7f9c0a017800] PES packet size mismatch [ac3 @ 0x7f9c0a81d800] exponent out-of-range [ac3 @ 0x7f9c0a81d800] error decoding the audio block [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 7 51 [mpeg2video @ 0x7f9c0a81d200] invalid mb type in P Frame at 37 52 [mpeg2video @ 0x7f9c0a81d200] ac-tex damaged at 1 53 [mpeg2video @ 0x7f9c0a81d200] invalid mb type in P Frame at 10 54 [mpeg2video @ 0x7f9c0a81d200] ac-tex damaged at 1 55 [mpeg2video @ 0x7f9c0a81d200] ac-tex damaged at 1 56 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 5 57 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 1 58 [mpeg2video @ 0x7f9c0a81d200] ac-tex damaged at 39 59 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 16 60 [mpeg2video @ 0x7f9c0a81d200] ac-tex damaged at 18 61 [mpeg2video @ 0x7f9c0a81d200] invalid mb type in P Frame at 1 62 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 48 63 [mpeg2video @ 0x7f9c0a81d200] mb incr damaged [mpeg2video @ 0x7f9c0a81d200] ac-tex damaged at 13 65 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 25 66 [mpeg2video @ 0x7f9c0a81d200] mb incr damaged [mpeg2video @ 0x7f9c0a81d200] invalid mb type in P Frame at 18 49 [mpeg2video @ 0x7f9c0a81d200] mb incr damaged [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 17 23 [mpeg2video @ 0x7f9c0a81d200] mb incr damaged [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 16 25 [mpeg2video @ 0x7f9c0a81d200] invalid mb type in P Frame at 20 26 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 1 27 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 4 28 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 23 29 [mpeg2video @ 0x7f9c0a81d200] ac-tex damaged at 31 30 [mpeg2video @ 0x7f9c0a81d200] ac-tex damaged at 10 31 [mpeg2video @ 0x7f9c0a81d200] invalid mb type in P Frame at 38 32 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 1 33 [mpeg2video @ 0x7f9c0a81d200] mb incr damaged [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 12 35 [mpeg2video @ 0x7f9c0a81d200] ac-tex damaged at 1 36 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 3 37 [mpeg2video @ 0x7f9c0a81d200] ac-tex damaged at 0 38 [mpeg2video @ 0x7f9c0a81d200] ac-tex damaged at 1 39 [mpeg2video @ 0x7f9c0a81d200] slice mismatch [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 5 41 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 5 42 [mpeg2video @ 0x7f9c0a81d200] ac-tex damaged at 7 43 [mpeg2video @ 0x7f9c0a81d200] invalid cbp 0 at 8 44 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 24 45 [mpeg2video @ 0x7f9c0a81d200] ac-tex damaged at 3 46 [mpeg2video @ 0x7f9c0a81d200] ac-tex damaged at 1 47 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 4 48 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 0 49 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 15 50 [mpeg2video @ 0x7f9c0a81d200] Warning MVs not available [ac3 @ 0x7f9c0a81d800] frame sync error Error while decoding stream #0:1: Invalid data found when processing input [mpegts @ 0x7f9c0a017800] PES packet size mismatch [ac3 @ 0x7f9c0a81d800] bandwidth code = 62 > 60 [ac3 @ 0x7f9c0a81d800] error decoding the audio block [mpeg2video @ 0x7f9c0a81d200] ac-tex damaged at 0 34 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 1 35 [mpeg2video @ 0x7f9c0a81d200] skip with previntra [mpeg2video @ 0x7f9c0a81d200] ac-tex damaged at 0 37 [mpeg2video @ 0x7f9c0a81d200] skip with previntra [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 3 38 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 14 52 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 6 39 [mpeg2video @ 0x7f9c0a81d200] skip with previntra [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 7 40 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 9 54 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 14 41 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 9 55 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 2 42 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 7 56 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 15 43 [mpeg2video @ 0x7f9c0a81d200] ac-tex damaged at 0 57 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 33 44 [mpeg2video @ 0x7f9c0a81d200] mb incr damaged [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 28 45 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 3 59 [mpeg2video @ 0x7f9c0a81d200] mb incr damaged [mpeg2video @ 0x7f9c0a81d200] invalid mb type in B Frame at 19 46 [mpeg2video @ 0x7f9c0a81d200] invalid mb type in B Frame at 3 61 [mpeg2video @ 0x7f9c0a81d200] ac-tex damaged at 0 47 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 18 62 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 6 48 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 2 63 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 12 49 [mpeg2video @ 0x7f9c0a81d200] mb incr damaged [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 6 50 [mpeg2video @ 0x7f9c0a81d200] ac-tex damaged at 7 65 [mpeg2video @ 0x7f9c0a81d200] ac-tex damaged at 25 66 [mpeg2video @ 0x7f9c0a81d200] mb incr damaged [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 87 26 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 2 11 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 1 12 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 5 13 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 2 14 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 1 15 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 9 16 [mpeg2video @ 0x7f9c0a81d200] ac-tex damaged at 2 17 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 2 18 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 2 19 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 2 20 [mpeg2video @ 0x7f9c0a81d200] ac-tex damaged at 0 21 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 11 22 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 11 23 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 33 24 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 1 25 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 2 26 [mpeg2video @ 0x7f9c0a81d200] mb incr damaged [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 27 28 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 3 29 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 26 30 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 28 31 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 4 32 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 12 33 [ac3 @ 0x7f9c0a81d800] frame sync error Error while decoding stream #0:1: Invalid data found when processing input [mpegts @ 0x7f9c0a017800] PES packet size mismatch [ac3 @ 0x7f9c0a81d800] frame sync error Error while decoding stream #0:1: Invalid data found when processing input [mpeg2video @ 0x7f9c0a81d200] invalid mb type in B Frame at 10 51 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 28 52 [mpeg2video @ 0x7f9c0a81d200] 00 motion_type at 8 53

tmm1 commented 10 years ago

I just made a change in d92ccd3 that might help fix this. Can you try it?

maddox commented 8 years ago

Closing this due to age.