Re: [FFmpeg-user] Speeding up a script.

2017-08-07 Thread Evert Vorster
Hi there, Paul.

How would I be able to check which filter uses the most processing power?

I am encoding in hardware with my video card, so it's only the decoding and
filters that are eating up CPU.
What I am seeing is that only one CPU shows any load.

I have a suspicion that it is the remap filter that eats the most CPU, but
I am running two remaps in parrallel, so I would expect to see at least two
CPU showing load.

Kind regards,
-Evert Vorster-

On 6 August 2017 at 21:28, Paul B Mahol  wrote:

> On 8/6/17, Evert Vorster  wrote:
> > Hi there.
> > I am using a quite convoluted filter in ffmpeg.
> > -
> > #!/bin/bash
> > #This will split, defish, blend and re-assemble Samsung Gear 360 video
> > map_dir="/data/Projects/RemapFilter"
> > ffmpeg -y -i "$1" \
> > -i $map_dir/lx.pgm -i $map_dir/ly.pgm -loop 1 \
> > -i $map_dir/Alpha-Map.png \
> > -i $map_dir/rx.pgm -i $map_dir/ry.pgm \
> > -c:v hevc_nvenc -rc constqp -qp 26 -cq 26 \
> > -filter_complex \
> > "[0:v]eq=contrast=0.8:brightness=-0.01:gamma=0.7:saturation=0.8[bright];
> \
> >  [bright]split=2[in1][in2]; \
> >  [in1]crop=in_w/2:in_h:0:in_h[l_crop];\
> >  [in2]crop=in_w/2:in_h:in_w/2:in_h[r_crop]; \
> >  [3]alphaextract[alf]; \
> >  [l_crop]vignette=angle=PI/4.6:mode=backward[l_vignette]; \
> >  [l_vignette][1][2]remap[l_remap]; \
> >  [r_crop]vignette=angle=PI/4.8:mode=backward[r_vignette]; \
> >  [r_vignette][4][5]remap[r_remap]; \
> >  [l_remap]crop=in_w:1920:0:(in_h-1920)/2[l_rm_crop]; \
> >  [r_remap]crop=in_w:1920:0:(in_h-1920)/2[r_rm_crop]; \
> >  [l_rm_crop][alf]alphamerge[l_rm_crop_a]; \
> >  [l_rm_crop_a]split=2[l_rm_crop1][l_rm_crop2]; \
> >  [l_rm_crop1]crop=in_w/2:in_h:0:0[l_rm_crop_l]; \
> >  [l_rm_crop2]crop=in_w/2:in_h:in_w/2:0[l_rm_crop_r]; \
> >  [0:v][r_rm_crop]overlay=(1920-(2028/2)):0[ov1]; \
> >  [ov1][l_rm_crop_l]overlay=((1920+2028/2)-(2028-1920)):0[ov2]; \
> >  [ov2][l_rm_crop_r]overlay=0:0[out]" \
> > -map [out] -map 0:a "$1_Remapped.mp4"
> > -
> >
> > When this runs, only one of my CPU is showing any activity.
> > Is there a way of telling ffmpeg to process these steps in the filter in
> > parallel?
>
> Have you checked which filter takes most of processing times?
>
> >
> > Kind regards,
> > Evert Vorster
> >
> > Isometrix Acquistion Superchief
> > ___
> > ffmpeg-user mailing list
> > ffmpeg-user@ffmpeg.org
> > http://ffmpeg.org/mailman/listinfo/ffmpeg-user
> >
> > To unsubscribe, visit link above, or email
> > ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
> ___
> ffmpeg-user mailing list
> ffmpeg-user@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".




-- 
Evert Vorster
Isometrix Acquistion Superchief
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] Speeding up a script.

2017-08-06 Thread DopeLabs
you can search the ffmpeg-all man pages or online documentation for 'threads'

-filter_complex_threads nb_threads (global)
Defines how many threads are used to process a filter_complex graph. Similar to 
filter_threads but used for -filter_complex graphs only. The default is the 
number of available CPUs.

-filter_threads nb_threads (global)
Defines how many threads are used to process a filter pipeline. Each pipeline 
will produce a thread pool with this many threads available for parallel 
processing. The default is the number of available CPUs.

threads integer (decoding/encoding,video)
Set the number of threads to be used, in case the selected codec implementation 
supports multi-threading.

you can also set -preset ultrafast.

then there are the hevc threading options (man x265).

Threading, performance:
   --threads 
  Number of threads for thread pool (0: detect CPU core count, 
default)

   -F/--frame-threads 
  Number of concurrently encoded frames. 0: auto-determined by core 
count

   --[no-]wpp
  Enable Wavefront Parallel Processing. Default enabled

   --[no-]pmode
  Parallel mode analysis. Default disabled

   --[no-]pme
  Parallel motion estimation. Default disabled

   --[no-]asm 
  Override CPU detection. Default: auto

 
> On Aug 6, 2017, at 6:16 01AM, Evert Vorster  wrote:
> 
> Hi there.
> I am using a quite convoluted filter in ffmpeg.
> -
> #!/bin/bash
> #This will split, defish, blend and re-assemble Samsung Gear 360 video
> map_dir="/data/Projects/RemapFilter"
> ffmpeg -y -i "$1" \
> -i $map_dir/lx.pgm -i $map_dir/ly.pgm -loop 1 \
> -i $map_dir/Alpha-Map.png \
> -i $map_dir/rx.pgm -i $map_dir/ry.pgm \
> -c:v hevc_nvenc -rc constqp -qp 26 -cq 26 \
> -filter_complex \
> "[0:v]eq=contrast=0.8:brightness=-0.01:gamma=0.7:saturation=0.8[bright]; \
> [bright]split=2[in1][in2]; \
> [in1]crop=in_w/2:in_h:0:in_h[l_crop];\
> [in2]crop=in_w/2:in_h:in_w/2:in_h[r_crop]; \
> [3]alphaextract[alf]; \
> [l_crop]vignette=angle=PI/4.6:mode=backward[l_vignette]; \
> [l_vignette][1][2]remap[l_remap]; \
> [r_crop]vignette=angle=PI/4.8:mode=backward[r_vignette]; \
> [r_vignette][4][5]remap[r_remap]; \
> [l_remap]crop=in_w:1920:0:(in_h-1920)/2[l_rm_crop]; \
> [r_remap]crop=in_w:1920:0:(in_h-1920)/2[r_rm_crop]; \
> [l_rm_crop][alf]alphamerge[l_rm_crop_a]; \
> [l_rm_crop_a]split=2[l_rm_crop1][l_rm_crop2]; \
> [l_rm_crop1]crop=in_w/2:in_h:0:0[l_rm_crop_l]; \
> [l_rm_crop2]crop=in_w/2:in_h:in_w/2:0[l_rm_crop_r]; \
> [0:v][r_rm_crop]overlay=(1920-(2028/2)):0[ov1]; \
> [ov1][l_rm_crop_l]overlay=((1920+2028/2)-(2028-1920)):0[ov2]; \
> [ov2][l_rm_crop_r]overlay=0:0[out]" \
> -map [out] -map 0:a "$1_Remapped.mp4"
> -
> 
> When this runs, only one of my CPU is showing any activity.
> Is there a way of telling ffmpeg to process these steps in the filter in
> parallel?
> 
> Kind regards,
> Evert Vorster
> 
> Isometrix Acquistion Superchief
> ___
> ffmpeg-user mailing list
> ffmpeg-user@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
> 
> To unsubscribe, visit link above, or email
> ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-user] Speeding up a script.

2017-08-06 Thread Paul B Mahol
On 8/6/17, Evert Vorster  wrote:
> Hi there.
> I am using a quite convoluted filter in ffmpeg.
> -
> #!/bin/bash
> #This will split, defish, blend and re-assemble Samsung Gear 360 video
> map_dir="/data/Projects/RemapFilter"
> ffmpeg -y -i "$1" \
> -i $map_dir/lx.pgm -i $map_dir/ly.pgm -loop 1 \
> -i $map_dir/Alpha-Map.png \
> -i $map_dir/rx.pgm -i $map_dir/ry.pgm \
> -c:v hevc_nvenc -rc constqp -qp 26 -cq 26 \
> -filter_complex \
> "[0:v]eq=contrast=0.8:brightness=-0.01:gamma=0.7:saturation=0.8[bright]; \
>  [bright]split=2[in1][in2]; \
>  [in1]crop=in_w/2:in_h:0:in_h[l_crop];\
>  [in2]crop=in_w/2:in_h:in_w/2:in_h[r_crop]; \
>  [3]alphaextract[alf]; \
>  [l_crop]vignette=angle=PI/4.6:mode=backward[l_vignette]; \
>  [l_vignette][1][2]remap[l_remap]; \
>  [r_crop]vignette=angle=PI/4.8:mode=backward[r_vignette]; \
>  [r_vignette][4][5]remap[r_remap]; \
>  [l_remap]crop=in_w:1920:0:(in_h-1920)/2[l_rm_crop]; \
>  [r_remap]crop=in_w:1920:0:(in_h-1920)/2[r_rm_crop]; \
>  [l_rm_crop][alf]alphamerge[l_rm_crop_a]; \
>  [l_rm_crop_a]split=2[l_rm_crop1][l_rm_crop2]; \
>  [l_rm_crop1]crop=in_w/2:in_h:0:0[l_rm_crop_l]; \
>  [l_rm_crop2]crop=in_w/2:in_h:in_w/2:0[l_rm_crop_r]; \
>  [0:v][r_rm_crop]overlay=(1920-(2028/2)):0[ov1]; \
>  [ov1][l_rm_crop_l]overlay=((1920+2028/2)-(2028-1920)):0[ov2]; \
>  [ov2][l_rm_crop_r]overlay=0:0[out]" \
> -map [out] -map 0:a "$1_Remapped.mp4"
> -
>
> When this runs, only one of my CPU is showing any activity.
> Is there a way of telling ffmpeg to process these steps in the filter in
> parallel?

Have you checked which filter takes most of processing times?

>
> Kind regards,
> Evert Vorster
>
> Isometrix Acquistion Superchief
> ___
> ffmpeg-user mailing list
> ffmpeg-user@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

[FFmpeg-user] Speeding up a script.

2017-08-06 Thread Evert Vorster
Hi there.
I am using a quite convoluted filter in ffmpeg.
-
#!/bin/bash
#This will split, defish, blend and re-assemble Samsung Gear 360 video
map_dir="/data/Projects/RemapFilter"
ffmpeg -y -i "$1" \
-i $map_dir/lx.pgm -i $map_dir/ly.pgm -loop 1 \
-i $map_dir/Alpha-Map.png \
-i $map_dir/rx.pgm -i $map_dir/ry.pgm \
-c:v hevc_nvenc -rc constqp -qp 26 -cq 26 \
-filter_complex \
"[0:v]eq=contrast=0.8:brightness=-0.01:gamma=0.7:saturation=0.8[bright]; \
 [bright]split=2[in1][in2]; \
 [in1]crop=in_w/2:in_h:0:in_h[l_crop];\
 [in2]crop=in_w/2:in_h:in_w/2:in_h[r_crop]; \
 [3]alphaextract[alf]; \
 [l_crop]vignette=angle=PI/4.6:mode=backward[l_vignette]; \
 [l_vignette][1][2]remap[l_remap]; \
 [r_crop]vignette=angle=PI/4.8:mode=backward[r_vignette]; \
 [r_vignette][4][5]remap[r_remap]; \
 [l_remap]crop=in_w:1920:0:(in_h-1920)/2[l_rm_crop]; \
 [r_remap]crop=in_w:1920:0:(in_h-1920)/2[r_rm_crop]; \
 [l_rm_crop][alf]alphamerge[l_rm_crop_a]; \
 [l_rm_crop_a]split=2[l_rm_crop1][l_rm_crop2]; \
 [l_rm_crop1]crop=in_w/2:in_h:0:0[l_rm_crop_l]; \
 [l_rm_crop2]crop=in_w/2:in_h:in_w/2:0[l_rm_crop_r]; \
 [0:v][r_rm_crop]overlay=(1920-(2028/2)):0[ov1]; \
 [ov1][l_rm_crop_l]overlay=((1920+2028/2)-(2028-1920)):0[ov2]; \
 [ov2][l_rm_crop_r]overlay=0:0[out]" \
-map [out] -map 0:a "$1_Remapped.mp4"
-

When this runs, only one of my CPU is showing any activity.
Is there a way of telling ffmpeg to process these steps in the filter in
parallel?

Kind regards,
Evert Vorster

Isometrix Acquistion Superchief
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".