FAQ  •  Register  •  Login

Transcoding problem with X.264

<<

mackowiakp

Serviio lover

Posts: 71

Joined: Tue Feb 11, 2014 8:31 pm

Post Sun Mar 02, 2014 10:00 pm

Transcoding problem with X.264

I use Serviio for streaming "Live streams" from my Enigma E2 based satbox to internet and I use ServiiGo Android client as renderer. It works properly with SD (576) programs in original. medium and low resolution. But when I try to stream HD (1080) streams in original and medium resolution, picture is choppy, and hangs very often. It is possible to watch properly HD streams only in low resolution.
I set Serviio server as non-transcoding, medium quality. ServiiGo is set to use X.264 profile and MX Player as final renderer. I use 2 core 1,8 GHz PC for Serviio server and maximum usage of processor cores in 60%. So transcoding computer is not a bottleneck.
How can I get Serviio working properly with HD streams with original and medium resolution?
<<

will

DLNA master

Posts: 2138

Joined: Mon Aug 30, 2010 11:18 am

Location: UK

Post Mon Mar 03, 2014 7:46 am

Re: Transcoding problem with X.264

The transcoding setting isn't use by MediaBrowser/ServiiGo, transcoding is always enabled if needed. If you use MX player as the renderer, have you tried the standard profile as the main benifit of H.264 is support in the intenral player which supports seeking? In MX player, also make sure you are using the H/W+ decoder.

What format are the streams in, (ffmpeg -i of the live stream url). It might be possible to adjust the ServiiGo profiles to not transcode them, at least uder original quality. IIRC All online content will be either transcoding into H.264 or remuxed into a a suitable container.

If you play a HD video from your library (or download a smaple), does that work under Medium?
Will

ServiiDroid (Android Console) Developer: Download | Home | Support
ServiiGo (Android 3G/4G/WiFi Playback App) Developer: Download | Home | Support
<<

mackowiakp

Serviio lover

Posts: 71

Joined: Tue Feb 11, 2014 8:31 pm

Post Mon Mar 03, 2014 10:51 pm

Re: Transcoding problem with X.264

First of all I want to say that I use paid version of Serviio server and client. I try to use MX player with standard and extended profile. Extended profile (X.264) works properly with SD live streams in all resolutions. But with HD live stream, original resolution does not work at all because of screen resolution (Samsung Galaxy S4 mini), medium is very choppy and hangs after several minutes, low resolution, picture is choppy. Of course I use HW+ decoder but I did not found difference to SW decoder.
When I use internal player, SD live stream is always display in wrong proportions, HD streams are choppy in medium and low resolution.
HD film streamed from library is properly display with MX player as final renderer. But it is less important for me because I can access my library from Internet via ES filemanager using Secure WebDav.
The main issue for me is to stream "Live stream" from Enigma E2 to Android tablet. It works very good with Vu+ Android client, but it does not support security and external transcoding for lowering resolution. So it takes a lot of bandwidth. Thats why my choice was Serviio.
So I want to have availability to watch live streams of HD streams in medium and low resolution. As I wrote, SD channels are reproduced properly.
Below ffmpeg output, one of HD stream I want to watch without chopping. This stream is properly display on my PC (in LAN environment) with VLC as final renderer using OpenWebif of Enigma E2. I try to use VLC as filnal rendere on Android too, but after several seconds VLC quits.

  Code:
[maciek@piotr ~]$ ffmpeg -i http://pvr:8001/1:0:1:3AB9:514:13E:820000:0:0:0:
ffmpeg version 2.0.3 Copyright (c) 2000-2013 the FFmpeg developers
  built on Feb  9 2014 23:12:38 with gcc 4.8.2 (GCC)
  configuration: --prefix=/usr --enable-shared --libdir=/usr/lib64 --shlibdir=/usr/lib64 --incdir=/usr/include --disable-stripping --enable-postproc --enable-gpl --enable-pthreads --enable-libtheora --enable-libvorbis --disable-encoder=vorbis --enable-libvpx --enable-x11grab --enable-runtime-cpudetect --enable-libdc1394 --enable-libschroedinger --enable-librtmp --enable-libspeex --enable-libfreetype --enable-libnut --enable-libgsm --enable-libcelt --enable-libopus --disable-libopencv --enable-libopenjpeg --enable-libtwolame --enable-libxavs --enable-frei0r --enable-libmodplug --enable-libass --enable-gnutls --enable-libcdio --enable-libpulse --enable-libv4l2 --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-version3 --enable-libx264 --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libxvid
  libavutil      52. 38.100 / 52. 38.100
  libavcodec     55. 18.102 / 55. 18.102
  libavformat    55. 12.100 / 55. 12.100
  libavdevice    55.  3.100 / 55.  3.100
  libavfilter     3. 79.101 /  3. 79.101
  libswscale      2.  3.100 /  2.  3.100
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  3.100 / 52.  3.100
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] non-existing PPS referenced
[h264 @ 0xd85ea0] non-existing PPS 0 referenced
[h264 @ 0xd85ea0] decode_slice_header error
[h264 @ 0xd85ea0] no frame!
[h264 @ 0xd85ea0] mmco: unref short failure
    Last message repeated 2 times
[mpegts @ 0xd7ed20] Stream #3: not enough frames to estimate rate; consider increasing probesize                                                               
[mpegts @ 0xd7ed20] Stream #4: not enough frames to estimate rate; consider increasing probesize                                                               
[mpegts @ 0xd7ed20] Could not find codec parameters for stream 3 (Unknown: none ([11][0][0][0] / 0x000B)): unknown codec                                       
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[mpegts @ 0xd7ed20] Could not find codec parameters for stream 4 (Unknown: none ([11][0][0][0] / 0x000B)): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, mpegts, from 'http://pvr:8001/1:0:1:3AB9:514:13E:820000:0:0:0:':
  Duration: N/A, start: 63380.654811, bitrate: 576 kb/s
  Program 15031
  Program 15068
  Program 15160
  Program 15073
  Program 15060
  Program 15050
  Program 15038
  Program 15037
  Program 15035
  Program 15033
    Stream #0:0[0x212]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 50 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x276](pol): Audio: mp2 ([4][0][0][0] / 0x0004), 48000 Hz, stereo, s16p, 192 kb/s
    Stream #0:2[0x2da](pol): Audio: ac3 ([6][0][0][0] / 0x0006), 48000 Hz, 5.1(side), fltp, 384 kb/s
    Stream #0:3[0xbf8]: Unknown: none ([11][0][0][0] / 0x000B)
    Stream #0:4[0xbf9]: Unknown: none ([11][0][0][0] / 0x000B)
  Program 15032
At least one output file must be specified
<<

will

DLNA master

Posts: 2138

Joined: Mon Aug 30, 2010 11:18 am

Location: UK

Post Tue Mar 04, 2014 7:48 am

Re: Transcoding problem with X.264

HD film streamed from library is properly display with MX player as final renderer. But it is less important for me because I can access my library from Internet via ES filemanager using Secure WebDav.
Do local HD videos work properly at Medium resolution (to double check that the server is fine to transcode them)?

Also, do the HD live streams at medium quality work in MediaBrowser on your PC.

One thing to rule out is network bandwith just in case. If you are watching directly from a PC or Tablet, the traffic has to go

PVR -> Router -> PC/Tablet.

But with Serviio, it has to go

PVR -> Router -> Server -> Router -> Tablet.

Are the links between the PVR, router and server wired or wireless?
Will

ServiiDroid (Android Console) Developer: Download | Home | Support
ServiiGo (Android 3G/4G/WiFi Playback App) Developer: Download | Home | Support
<<

mackowiakp

Serviio lover

Posts: 71

Joined: Tue Feb 11, 2014 8:31 pm

Post Tue Mar 04, 2014 12:06 pm

Re: Transcoding problem with X.264

All tests I done in my home local network. All my network elements (including PC`s, WiFi NetGear AP, TV sets, server, satboxes, PVR, printer, IP phones and even Samsung refrigerator with tablet buildin in front door) are connected over class 5 or 6 wire to 24 ports Catalyst Cisco switch (old one, but much more powerful than my home needs but it support PoE for IP Phones). All elements except smartphone and tablet of course. Internet DSL router is connected to Catalyst too but in reality of tests I done, router is not important. So, in my meaning, network is not a bottleneck.
I use both Twonky and Serviio on the same physical Linux server as DLNA serwers. I can stream over Twonky all serwer stored video files to any renderer, even HD, over LAN without any transcoding to TV or PC. Using Vu+ Android client I can stream without transcoding, to tablet except HD channels.
Using Serviio, I can stream HD files from server to tablet in medium quality, from time to time choppy, especially in the beginning.
Serviio/PC-Mediabrowser - HD (server stored) file are from time to time choppy, especially in the beginning.
Live stream from PVR to ServiiGo (via server of course) in works properly in all resolutions with SD live streams, except 2 or 3 "hangs" for half a second at the beginning.
Live stream od HD streams from PVR via server to ServiiGo is always choppy in medium and low resolution (much more often in medium). Original HD resolution is not playable on my tablet.

Return to Serviio Support & Help

Who is online

Users browsing this forum: Google [Bot] and 39 guests

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.