Transcoding glitchy

When selecting anything other than 'original' quality in the iOS App, the DVR server has to transcode the video. This is of course expected, however, I'm seeing artifacting and general corruptness when streaming. I have tried this on both WiFi and Cellular data. Changing the quality to original solves the issue.

Here is a screenshot of what I am seeing:


Channels-DVR Info:

Version: 2023.05.19.2045 (Latest)
Environment: Docker
OS
Gigabyte Technology Z590I VISION D
Linux Alpine
3.13.2 (kernel: 5.15.79+truenas)
CPU
12 cores / 11th Gen Intel(R) Core(TM) i5-11400 @ 2.60GHz
load averages:  1.04  0.96  1.24
RAM
62.64 GB
42.5% free
NET
1 interface
192.168.20.2
Hardware Transcoder Probe
×Close
amf
fork/exec /channels-dvr/2023.05.19.2045/ffmpeg-dl: no such file or directory
nvenc
fork/exec /channels-dvr/2023.05.19.2045/ffmpeg-dl: no such file or directory
vaapi+deint
[AVHWDeviceContext @ 0x969f340] libva: VA-API version 1.16.0
[AVHWDeviceContext @ 0x969f340] libva: va_openDriver() returns 0
[AVHWDeviceContext @ 0x969f340] Initialised VAAPI connection: version 1.16
[AVHWDeviceContext @ 0x969f340] VAAPI driver: Intel iHD driver for Intel(R) Gen Graphics - 22.5.3 (68d925e).
[AVHWDeviceContext @ 0x969f340] Driver not found in known nonstandard list, using standard behaviour.
[Parsed_color_0 @ 0x9712280] size:640x480 rate:25/1 duration:-1.000000 sar:1/1
Input #0, lavfi, from 'color=black:640x480':
  Duration: N/A, start: 0.000000, bitrate: N/A
  Stream #0:0: Video: rawvideo, 1 reference frame (I420 / 0x30323449), yuv420p, 640x480 [SAR 1:1 DAR 4:3], 25 tbr, 25 tbn
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> wrapped_avframe (native))
Press [q] to stop, [?] for help
[graph 0 input from stream 0:0 @ 0x971aa40] w:640 h:480 pixfmt:yuv420p tb:1/25 fr:25/1 sar:1/1
[auto_scale_0 @ 0x971ce80] w:iw h:ih flags:'' interl:0
[trim_in_0_0 @ 0x971b440] auto-inserting filter 'auto_scale_0' between the filter 'graph 0 input from stream 0:0' and the filter 'trim_in_0_0'
[auto_scale_0 @ 0x971ce80] w:640 h:480 fmt:yuv420p sar:1/1 -> w:640 h:480 fmt:nv12 sar:1/1 flags:0x0
[Parsed_deinterlace_vaapi_2 @ 0x9719e80] Picking 4 (MotionCompensated) as default deinterlacing mode.
Output #0, null, to '/dev/null':
  Metadata:
    encoder         : Lavf59.16.100
  Stream #0:0: Video: wrapped_avframe, 1 reference frame, vaapi(tv, progressive), 640x480 (0x0) [SAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 25 fps, 25 tbn
    Metadata:
      encoder         : Lavc59.18.100 wrapped_avframe
No more output streams to write to, finishing.
frame=    3 fps=0.0 q=-0.0 Lsize=N/A time=00:00:00.12 bitrate=N/A speed=12.5x    
video:1kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Input file #0 (color=black:640x480):
  Input stream #0:0 (video): 4 packets read (1843200 bytes); 4 frames decoded; 
  Total: 4 packets (1843200 bytes) demuxed
Output file #0 (/dev/null):
  Output stream #0:0 (video): 3 frames encoded; 3 packets muxed (1344 bytes); 
  Total: 3 packets (1344 bytes) muxed
[VP]:   CRITICAL - VpSetColorStandardExplictly:1870: unknown Color Standard for YUV format.
[VP]:   CRITICAL - VpSetColorStandardExplictly:1870: unknown Color Standard for YUV format.
[VP]:   CRITICAL - VpSetColorStandardExplictly:1870: unknown Color Standard for YUV format.
[VP]:   CRITICAL - VpSetColorStandardExplictly:1870: unknown Color Standard for YUV format.
[VP]:   CRITICAL - VpSetColorStandardExplictly:1870: unknown Color Standard for YUV format.
[VP]:   CRITICAL - VpSetColorStandardExplictly:1870: unknown Color Standard for YUV format.
success!
vaapi@/dev/dri/renderD128
[AVHWDeviceContext @ 0x9b19280] libva: VA-API version 1.16.0
[AVHWDeviceContext @ 0x9b19280] libva: va_openDriver() returns 0
[AVHWDeviceContext @ 0x9b19280] Initialised VAAPI connection: version 1.16
[AVHWDeviceContext @ 0x9b19280] VAAPI driver: Intel iHD driver for Intel(R) Gen Graphics - 22.5.3 (68d925e).
[AVHWDeviceContext @ 0x9b19280] Driver not found in known nonstandard list, using standard behaviour.
[Parsed_color_0 @ 0x9b8c240] size:640x480 rate:25/1 duration:-1.000000 sar:1/1
Input #0, lavfi, from 'color=black:640x480':
  Duration: N/A, start: 0.000000, bitrate: N/A
  Stream #0:0: Video: rawvideo, 1 reference frame (I420 / 0x30323449), yuv420p, 640x480 [SAR 1:1 DAR 4:3], 25 tbr, 25 tbn
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> wrapped_avframe (native))
Press [q] to stop, [?] for help
[graph 0 input from stream 0:0 @ 0x9b93480] w:640 h:480 pixfmt:yuv420p tb:1/25 fr:25/1 sar:1/1
Output #0, null, to '/dev/null':
  Metadata:
    encoder         : Lavf59.16.100
  Stream #0:0: Video: wrapped_avframe, 1 reference frame, yuv420p(progressive), 640x480 (0x0) [SAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 25 fps, 25 tbn
    Metadata:
      encoder         : Lavc59.18.100 wrapped_avframe
No more output streams to write to, finishing.
frame=    3 fps=0.0 q=-0.0 Lsize=N/A time=00:00:00.12 bitrate=N/A speed= 153x    
video:1kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Input file #0 (color=black:640x480):
  Input stream #0:0 (video): 4 packets read (1843200 bytes); 4 frames decoded; 
  Total: 4 packets (1843200 bytes) demuxed
Output file #0 (/dev/null):
  Output stream #0:0 (video): 3 frames encoded; 3 packets muxed (1344 bytes); 
  Total: 3 packets (1344 bytes) muxed
success!
vaapi@/dev/dri/renderD129
no such file or directory

Looks like your hardware doesn't support HEVC correctly so you should turn off that experimental option.

1 Like

Thanks, I meant to mention that I was using HVEC and disabling it fixed the issue.

I thought 11th gen intel supported HVEC on the IGPU, is there a driver I'd need or something do you know?

It's a bug that we have alerted Intel about already

Feel free to let me know if there's any info I can provide to help

Please try this new build:

Will try whenever I can get the update to show up.

Please have a better way of checking for updates / switching to pre-release as it will say 'Up to date!' and hide the option to check for pre-release. You have to leave the page open for an hour or each time you go to it, it will refresh and say up to date again without giving the option to check for pre-release

1 Like

I've never had this issue.

You can refresh after one minute

3 Likes

Any luck?

Sorry for late reply, the issues with updating was caused by my server being out of time sync.

Have updated to 2023.06.08.0458 and HEVC is working now :slight_smile:

Thanks!

While I have you, could you look into why movies and shows with .srt files work on iOS/tvOS but not the Android apps? I share my DVR with my dad who watches using an NVIDIA shield and Firestick in his house using the away from home option. If movies or shows have their subtitles transcoded into the file then they load fine.

However, some of the blueray's I have didn't come with subtitles, so I downloaded them from one of the many .srt sites and named them the same as the video file. They load and work fine when using an Apple devices such as iPhone/M1 Mac/iPad, but there's no subtitle track showing up on the android devices such as FireStick or AppleTV.

Currently my solution is to manually recode the video files to embed the .srt, however, this is super annoying when there's lots of seasons and I'd really appreciate it if this could be looked into and fixed so it would just work out of the box like it does on iOS.

Thanks in advanced and I appreciate you fixing HEVC!

SRT on android not working- is this at home or remote?

Remote, haven't tested home but I could try as I have a fire stick myself.

Home and Remote works on Apple devices though. I assume the Apple devices share the same codebase and frameworks

The apple and android codebases are separate. I would guess its working on Android at home but not remotely.

Try:

1 Like

At my dad's now so I’m able to test it.

Seems to have been fixed, however the track name isn’t showing correctly I don’t think.


Doesn’t seem to be working on iOS now