Jump to content
Djoss

[Support] Djoss - HandBrake

472 posts in this topic Last Reply

Recommended Posts

5 hours ago, Djoss said:

Which encoder are you using?

Do you have set anything in "Extra Parameters"?

You can also see if the container reports the same thing: docker exec HandBrake top

I'm using H.264. I don't have anything in "Extra Parameters" right now. Is there something I should add in? Also it's reporting about the same usage from the container.

 

2022823034_ScreenShot2018-10-10at11_45_11AM.thumb.png.9e78658809f358ba2be874bef98ce110.png

Share this post


Link to post
8 hours ago, FieldGenEJ said:

I'm using H.264. I don't have anything in "Extra Parameters" right now. Is there something I should add in? Also it's reporting about the same usage from the container.

 

2022823034_ScreenShot2018-10-10at11_45_11AM.thumb.png.9e78658809f358ba2be874bef98ce110.png

So after a little bit of investigation it seems normal that HandBrake doesn't use all CPUs all the time.  I just did a little test with the "Very fast 720p30" preset: during the first pass, all CPU where used at ~40-50%.  However, during the second pass, they where almost at 100% all the time.

Share this post


Link to post

I notice the same behavior 🙂 seems almost like "burps" of high CPU, then it goes back to %50 until it burps again.

Share this post


Link to post
On 10/10/2018 at 12:00 PM, Djoss said:

What do you see/have exactly?

The full container log would be useful.  You can get it with "docker logs [container name]".

Hey @Djoss,

i looked through the container logs with the docker command you mentioned and did realize a late change. It finally generated the missing certs today. With this in mind i reapplied my LE certificates and 'voila'. I don't know why it suddenly is working. Did you change/update anything?  ..if yes then that must've fixed it. I use the docker container "watchtower" to auto update all my containers. Watchtower sees every update of a container and auto pulls it and then restart my running containers.

Sorry for trouble 😕

Share this post


Link to post

I might have missed it somewhere, but is there a way to see what Handbrake is currently working on when you have it set for auto startup?

 

I set this thing up ages ago, and don't remember the particulars but I have it configured to start converting anything in a "in" directory to mp4 for an iPad profile and put the final file into an "out" directory. Only I can't seem to figure out how to pop in and see what file it's working on at the moment.

Share this post


Link to post
1 minute ago, CowboyRedBeard said:

I might have missed it somewhere, but is there a way to see what Handbrake is currently working on when you have it set for auto startup?

 

I set this thing up ages ago, and don't remember the particulars but I have it configured to start converting anything in a "in" directory to mp4 for an iPad profile and put the final file into an "out" directory. Only I can't seem to figure out how to pop in and see what file it's working on at the moment.

Yes, just look at the container log: from the Docker page, click the icon in the right column for your HandBrake container.

  • Like 1

Share this post


Link to post

with the dev/dri params I'm able to see H.264 (Intel QSV) option in my handbrake webUI, but choosing that and transcode, Handbrake seems still using my CPU (70%-80% on all cores). Is that because it doesn't support hardware decoding at this stage?

Share this post


Link to post
5 hours ago, James Yu said:

with the dev/dri params I'm able to see H.264 (Intel QSV) option in my handbrake webUI, but choosing that and transcode, Handbrake seems still using my CPU (70%-80% on all cores). Is that because it doesn't support hardware decoding at this stage?

CPU usage is expected.  However, encoding speed should be much faster.

Share this post


Link to post
21 hours ago, Djoss said:

CPU usage is expected.  However, encoding speed should be much faster.

thx. I did notice the encoding speed being much faster. But I don't understand the cpu usage since the windows ver of Handbrake barely use any cpu when hardware transcoding x264 1080p

Share this post


Link to post
2 hours ago, James Yu said:

thx. I did notice the encoding speed being much faster. But I don't understand the cpu usage since the windows ver of Handbrake barely use any cpu when hardware transcoding x264 1080p

Do you get similar speed with Windows?  If yes then it may be related to hardware decoding like you said, but I cannot say for sure.

Share this post


Link to post
On 10/10/2018 at 8:18 PM, Djoss said:

So after a little bit of investigation it seems normal that HandBrake doesn't use all CPUs all the time.  I just did a little test with the "Very fast 720p30" preset: during the first pass, all CPU where used at ~40-50%.  However, during the second pass, they where almost at 100% all the time.

So I had my encoding speed set to ultra fast. I dropped it down to "Faster" and it's now using 100% CPU. Do you have a recommendation for which speed to use?

Share this post


Link to post
5 hours ago, FieldGenEJ said:

So I had my encoding speed set to ultra fast. I dropped it down to "Faster" and it's now using 100% CPU. Do you have a recommendation for which speed to use?

I don't really have recommendation.  It depends on your needs and the quality you want.  Fast speeds result in lower video quality and bigger file size.  So you can try different speeds, look at the different results and use the one you are happy with.

Share this post


Link to post

Has anyone been doing QuickSync accelerated encoding with this docker? I first tried with my Ivy Bridge i5 3470 but the quality was really not good. I recently upgraded to a Coffee Lake i5 8400 and tried again. I’m getting horrible results. Basically every second or so the video jumps and there’s a distortion in it. I also tried the QSV accelerated HEVC encoding and while it works great and seems to look great I have to restart the container after every encode because every subsequent QSV HEVC encode fails.

 

Just curious what everyone else’s experience is with this?

Share this post


Link to post
3 hours ago, Taddeusz said:

Has anyone been doing QuickSync accelerated encoding with this docker? I first tried with my Ivy Bridge i5 3470 but the quality was really not good. I recently upgraded to a Coffee Lake i5 8400 and tried again. I’m getting horrible results. Basically every second or so the video jumps and there’s a distortion in it

It is known that QSV is not about quality, but about speed.  To get decent quality, you need to accept much bigger files.

 

Need tried myself, but you could try to adjust encoder options, as detailed here: https://www.youtube.com/watch?v=v9HVxaeoe3k

3 hours ago, Taddeusz said:

I also tried the QSV accelerated HEVC encoding and while it works great and seems to look great I have to restart the container after every encode because every subsequent QSV HEVC encode fails.

Do you have any error message/log showing the issue?

Edited by Djoss

Share this post


Link to post
3 hours ago, Djoss said:

It is known that QSV is not about quality, but about speed.  To get decent quality, you need to accept much bigger files.

 

Need tried myself, but you could try to adjust encoder options, as detailed here: https://www.youtube.com/watch?v=v9HVxaeoe3k

Do you have any error message/log showing the issue?

 

I realize QSV isn't really about quality. I tried that video but apparently in later versions of Handbrake they removed the "Extra Settings" box when you select a QSV encoder.

 

Here is the output from the log when the HEVC encoder fails after finishing a previous encode:

[16:36:21] scan: decoding previews for title 1
[16:36:21] scan: audio 0x1: dca, rate=48000Hz, bitrate=1536000 English (DTS-HD MA) (5.1 ch)
[16:36:23] scan: 10 previews, 1920x1080, 23.976 fps, autocrop = 138/138/0/0, aspect 16:9, PAR 1:1
[16:36:23] scan: supported video decoders: avcodec qsv
[16:36:23] libhb: scan thread found 1 valid title(s)
[16:36:23] starting job
[16:36:23] job configuration:
[16:36:23]  * source
[16:36:23]    + /storage/Output/Atomic_Blonde/Atomic_Blonde_t00.mkv
[16:36:23]    + title 1, chapter(s) 1 to 2
[16:36:23]    + container: matroska,webm
[16:36:23]  * destination
[16:36:23]    + /output/Atomic_Blonde_t01.mkv
[16:36:23]    + container: Matroska (libavformat)
[16:36:23]      + chapter markers
[16:36:23]  * video track
[16:36:23]    + decoder: h264
[16:36:23]    + filters
[16:36:23]      + Framerate Shaper (mode=1)
[16:36:23]        + frame rate: 23.976 fps -> constant 23.976 fps
[16:36:23]      + Crop and Scale (width=1920:height=804:crop-top=138:crop-bottom=138:crop-left=0:crop-right=0)
[16:36:23]        + source: 1920 * 1080, crop (138/138/0/0): 1920 * 804, scale: 1920 * 804
[16:36:23]    + Output geometry
[16:36:23]      + storage dimensions: 1920 x 804
[16:36:23]      + pixel aspect ratio: 1 : 1
[16:36:23]      + display dimensions: 1920 x 804
[16:36:23]    + encoder: H.265 (Intel Media SDK)
[16:36:23]      + preset:  quality
[16:36:23]      + profile: auto
[16:36:23]      + level:   auto
[16:36:23]      + quality: 15.00 (QP)
[16:36:23]  * audio track 1
[16:36:23]    + decoder: English (DTS-HD MA) (5.1 ch) (track 1, id 0x1)
[16:36:23]      + bitrate: 1536 kbps, samplerate: 48000 Hz
[16:36:23]    + mixdown: 5.1 Channels
[16:36:23]    + encoder: AC3 (libavcodec)
[16:36:23]      + bitrate: 640 kbps, samplerate: 48000 Hz
[16:36:23] sync: expecting 15900 video frames
libva info: VA-API version 1.1.0
libva info: va_getDriverName() returns 1
libva error: va_getDriverName() failed with operation failed,driver_name=i965
[16:36:23] encqsvInit: MFXVideoENCODE_Init failed (-16)
[16:36:23] Failure to initialise thread 'Quick Sync Video encoder (Intel Media SDK)'
[16:36:23] vfr: 0 frames output, 0 dropped and 0 duped for CFR/PFR
[16:36:23] vfr: lost time: 0 (0 frames)
[16:36:23] vfr: gained time: 0 (0 frames) (0 not accounted for)
[16:36:23] dca-decoder done: 0 frames, 0 decoder errors
[16:36:23] h264-decoder done: 0 frames, 0 decoder errors
[16:36:23] sync: got 0 frames, 15900 expected
[16:36:23] libhb: work result = 3

 

Share this post


Link to post

im having an issue getting —device /dev/sr0 added. Every time i add this line into extra parameters and press apply the command fails and handbrake uninstalls.

i know sr0 is valid for my dvd drive as makemkv uses it without issue

 

Any ideas please? This docker looks excellent and id love to be able to use it

Share this post


Link to post
On 11/7/2018 at 2:07 AM, AntaresUK said:

im having an issue getting —device /dev/sr0 added. Every time i add this line into extra parameters and press apply the command fails and handbrake uninstalls.

i know sr0 is valid for my dvd drive as makemkv uses it without issue

 

Any ideas please? This docker looks excellent and id love to be able to use it

What is the error exactly?  Also, instead of adding the device via extra parameters, you can use the functionality to add a device (like adding a path or a variable).

 

Share this post


Link to post
2 hours ago, Djoss said:

What is the error exactly?  Also, instead of adding the device via extra parameters, you can use the functionality to add a device (like adding a path or a variable).

 

It just said command failed. Managed to get it working now via --device /dev/sr0 --device /dev/sg8

Thanks for the tip though :)

Share this post


Link to post

Looks similar to the dual path needed, same as MakeMKV.

Share this post


Link to post

Is there a way to only have handbrake process .avi files?  I imagine it would require a bit of code in the preconversion hook?

 

my real goal is to point handbrake at my media folders and have it convert and replace any .avi files with .mp4 files to facilitate direct streaming in plex.

 

Thanks

Share this post


Link to post
21 hours ago, munit85 said:

Is there a way to only have handbrake process .avi files?  I imagine it would require a bit of code in the preconversion hook?

 

my real goal is to point handbrake at my media folders and have it convert and replace any .avi files with .mp4 files to facilitate direct streaming in plex.

 

Thanks

The best way to use the watch folder is to use it as an intermediate step in your workflow.  So instead of adding videos directly in your media folder, you add them into the watch folder and point the output folder to your media folder.

Share this post


Link to post

Doing some more rips this weekend and playing with CPU pinning.

 

I see this every time this container is restarted, I assume a red herring? :

 

(ghb:1000): GLib-GIO-CRITICAL **: 13:35:37.336: g_dbus_proxy_new_sync: assertion 'G_IS_DBUS_CONNECTION (connection)' failed

GLib-GIO-Message: 13:35:37.491: Using the 'memory' GSettings backend. Your settings will not be saved or shared with other applications.

 

Edited by cybrnook

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now