Page 1 of 2 12 LastLast
Results 1 to 10 of 12

Thread: PatchWork Artifact in transcoded video for HTTP Streaming

  1. #1
    Join Date
    Nov 2012
    Posts
    10

    Default PatchWork Artifact in transcoded video for HTTP Streaming

    Hello!

    I am facing a video quality problem: the video transcoded by wowza transcoder addon seems to have lots of artifact expecially in fast scenes.

    Below some configuration information.

    Input stream: 1100 kbps h264 baseline profile at 1024x756 25fps with 64 kbps aac audio . No additional information because we don't control the encoder streaming to wowza. I know the resolution is too higth, and in the next days it will be step down to 720x404.

    OutPut stream:

    • 1100 kbps Video h264 baseline + 64 audio aac. 25fps. Res 1024xfit-width. Key Frame every 100 frame
    • 720 kbps Video h264 baseline + 64 audio aac. 25fps. Res 640xfit-width. Key Frame every 100 frame
    • 440 kbps Video h264 baseline + 64 audio aac. 25fps. Res 512xfit-width. Key Frame every 100 frame
    • 180 kbps Video h264 baseline + 64 audio aac. 25fps. Res 256xfit-width. Key Frame every 100 frame


    Cpu average load about 45%, maximun load 65%.
    Wowza Version 3.1.2 running on ubuntu 12.04 in ec2.


    The output video is available to clients with HDS, HLS and Smooth Streaming Protocol. RTMP and rtsp is available for debug purpose.

    All http streaming video reproduced presents lots of artifact like patchwork. I have taken some screen shot.

    To debug purpose I've tested deeply single 1200 transcoded bitrate. I've tested quickly also the others bitrate, and the behaviour is the same of 1200 one.

    This is what I noticed:

    • Rtmp input stream. The video reproduced with flash player is ok. I dump to file the stream with ffmepg option -c copy ( no transcoding by ffmpeg ). The recorded file has NO artifacts.
    • HLS 1200 transcoded stream. Video reproduced with VLC and IOS devices presents artifacts. I dump to file stream with ffmpeg with option -c copy. The recorded file presents artifacts.
    • HDS 1200 transcoded stream. Video reproduced with OSMF Flash player presents artifacts.
    • Smooth Streaming 1200 transcoded stream. Video reproduced with silverlight player presents artifacts
    • 1200 stream rtmp. The video reproduced with flash shows NO artifacts. I dump to file the stream with ffmpeg with option -c copy. The recorded file presents NO artifacts.
    • 1200 stream rtsp. The video reproduced with VLC presents NO artifacts.

  2. #2
    Join Date
    Sep 2011
    Posts
    1,933

    Default

    Hi
    I think this is due to you not having a high enough Keyframe interval try getting the keyframs to be every 2 seconds (every 50 frames)
    Can you also show us the Wowza logs so that we can check for skipped frames or any other issues causing this problem.

    Let us know if changing the Keyframe rate helps or fixes the problem.

    Jason

  3. #3
    Join Date
    Nov 2012
    Posts
    10

    Default

    Thank you for the suggestion. I am going to try it.


    I've already checked logs, but found no errors or warning.

    It is strange only http streaming protocol show artifacts, while rtmp and rtsp don't.

  4. #4
    Join Date
    Nov 2012
    Posts
    10

    Default

    Artifacts still appear.

    The only difference is they remain in screen for less time. Seems keyframes reset previous artifacts.

    I add this detail:

    log error contains several row like this:

    ERROR server comment 2012-11-22 14:40:26 - - - - - 174.753 - - - - - - - - LiveStreamPacketizerCupertino.handleHolder: java.lang.ClassCastException: com.wowza.wms.amf.AMFDataItem cannot be cast to com.wowza.wms.amf.AMFDataObj

    I didn't write before because they seem to be related with a custom jar that handles metadata for HLS.

  5. #5
    Join Date
    Sep 2011
    Posts
    1,933

    Default

    Hi
    Thanks for the update.

    When looking though the logs do a search for the word "skip".
    Do you see anything that relates to the encoder skipping frames?

    Is this effecting all the transcoded streams (3) but not the source which is being passed through.

    Jason

  6. #6
    Join Date
    Nov 2012
    Posts
    10

    Default

    Nothing from logs

    [root logs]# cat wowzamediaserver_access.log | grep -i skip
    [root logs]# cat wowzamediaserver_error.log | grep -i skip
    The stream transcoded are 4 not 3. We prefer transcode also the 1200 bitrate to avoid problems like keyframe not alligned between differents bitrate.

    I try to summarize:

    * Input stream: no artifacts
    * ALL transcoded streams viewed with rtsp and rtmp protocols: no artifacts
    * ALL transcoded stream viewed with http streaming protocols ( HDS, HLS, Smooth Streaming ): artifacts.

    I am trying to reproduce the problem in another test instance, but without success. I can't find the conditions creating artifacts.

    The only component I can't control is input encoder because is not in our company. However I can't explain why a stream without artifact once transcoded presents artifact only in http streaming protocols, while rtmp and rtsp are ok.

  7. #7
    Join Date
    Dec 2007
    Posts
    21,962

    Default

    Are you using "Main" profile? If so, change to "Baseline"

    Richard

  8. #8
    Join Date
    Nov 2012
    Posts
    10

    Default

    All profiles are Baseline

  9. #9
    Join Date
    Dec 2007
    Posts
    21,962

    Default

    At 25fps and KeyFrameInterval /Interval set to "100", that is a key frame interval of 4 seconds. With default cupertinoChunkDurationTarget (article) of 10000 (10 seconds), that might cause varying size chunks that might be a problem.

    Try setting the interval to "50"

    Or try changing cupertinoChunkDurationTarget to a multiple of 4000, following the article above.

    To have a look at the chunk size use this url and open the downloaded file:

    http://[wowza-address]:1935/[app-name]/[stream-name]/chunklist.m3u8
    Richard

  10. #10
    Join Date
    Nov 2012
    Posts
    10

    Default

    KeyFrames are alligned with fragments: for HDS and HLS Fragments length was set to 8 secs, twice keyframe interval. I've tryed also a value of 4sec for frag length, but nothing change.

    FollowSource sets to false in transrate.xml

    However I've resolved: no more artifacts.

    The cause seems to be the encoder: cpu load was 100%. I suggest to my customer new settings for fmle. After rebooting SO and apply my settings cpu load fall to about 70% and transcoded streams in http streaming protocol do not present artifacts.

    However I cannot find a reason becasuse input stream was ok and http streaming transcoded stream not when I faced the artifacts.

    One last question:

    in error log I continue find these rows. Frequency is about one entry every 5 secs.

    ERROR server comment 2012-11-22 14:40:26 - - - - - 174.753 - - - - - - - - LiveStreamPacketizerCupertino.handleHolder: java.lang.ClassCastException: com.wowza.wms.amf.AMFDataItem cannot be cast to com.wowza.wms.amf.AMFDataObj
    If I disable transcoding no difference.

    This is not a big problem but size of logs raises uselessly

Page 1 of 2 12 LastLast

Similar Threads

  1. Strange video effects from transcoded video
    By broaska in forum Wowza Transcoder
    Replies: 1
    Last Post: 09-12-2014, 10:23 AM
  2. Problem installing eclipse IDE plugin - Artifact not found
    By raylau in forum Wowza Streaming Server Java API
    Replies: 3
    Last Post: 07-25-2014, 06:35 AM
  3. Snapshot a transcoded video
    By anhdung in forum Live Streaming and Encoders
    Replies: 6
    Last Post: 05-28-2014, 10:46 AM
  4. Saving transcoded video to disk?
    By jess.sheneberger in forum AddOn: Transcoder
    Replies: 2
    Last Post: 05-04-2012, 10:12 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •