<p>Since you are using <code>-c copy</code> in your commands, there is no decoding, filtering or encoding taking place and so hardware acceleration isn't relevant at all. The main bottleneck is disk I/O. On a regular internal HDD (with a 3rd gen CPU) I get speeds of 400x so I suspect you're reading or writing to an external drive. Or your internal drive could be slow, have a smaller cache. The biggest boost will come from writing to a different drive than the drive on which the inputs reside, with ideally both drives being internal.</p>

CC BY-SA 4.0
2019-09-05T17:41:13.433Z
2019-09-05T17:41:13.433Z
Gyan
<p>I am running FFMPEG on a Windows 10 (64-bit) laptop with Intel i3 (6th generation) processor and AMD R5 M430 GPU.</p>

<p>I shot many videos on a recent trip. Cumulatively, they are over 100 hours long. Each video occupies 2-3 GB minimum and is at least 1 hour long.</p>

<p>I need to trim 2-4 videos and then concatenate them into one single file. This operation needs to be performed for all these videos.</p>

<p>Right now, I am trimming individual videos using the following command:</p>

<p><code>ffmpeg.exe -i "INPUT_VIDEO" -ss START_TIME -to END_TIME -c copy "OUTPUT_VIDEO"</code></p>

<p>And then I concatenate the videos using this command:</p>

<p><code>ffmpeg.exe -f concat -safe 0 -i VideosToBeConcatenated.txt -c copy "CONCATENATED_OUTPUT_VIDEO"</code></p>

<p>where <code>VideosToBeConcatenated.txt</code> contains the file names of the videos to be concatenated.</p>

<p>Running these commands in a single Command Window gives me a speed of 20-25x. Running them in two Command Windows simultaneously drops the speed to 10-12x, while also making my system lag/freeze.</p>

<p>Is there a way I could use my GPU to speed up these operation? Say, using the i3's Quicksync or R5's AMF/VCE?</p>

<p>I tried using <code>-hwaccel dxva2</code> in the above mentioned commands as follows:</p>

<p><code>ffmpeg.exe -hwaccel dxva2 -i "INPUT_VIDEO" -ss START_TIME -to END_TIME -c copy "OUTPUT_VIDEO"</code></p>

<p>and</p>

<p><code>ffmpeg.exe -hwaccel dxva2 -f concat -safe 0 -i VideosToBeConcatenated.txt -c copy "CONCATENATED_OUTPUT_VIDEO"</code></p>

<p>However, I don't notice any increase in speed. </p>

<p>I also set <code>ffmpeg.exe</code> and <code>cmd.exe</code> to "High Performance" in the AMD Switchable   Graphics settings. But the in-built Switchable Graphics Monitor suggests that neither of the processes are using the dGPU.</p>

<p>Is there a way I could use my GPUs (i3's Quicksync or R5's AMF/VCE) to speed up these operation <strong>without compromising the quality of the output videos</strong>?</p>

<p>[Edit:] I am trying to make sense of <a href="https://trac.ffmpeg.org/wiki/Hardware/QuickSync" rel="nofollow noreferrer">FFMPEG's Quicksync documentation</a> but it's too mature for an amateur like me. </p>

<ffmpeg><encoding><hardware><windows>
How to use hardware acceleration with FFMPEG for trimming and concatenation purposes
SOuser
# How to use hardware acceleration with FFMPEG for trimming and concatenation purposes

(Asked by: username_0 on 2019-09-05)

I am running FFMPEG on a Windows 10 (64-bit) laptop with Intel i3 (6th generation) processor and AMD R5 M430 GPU.

I shot many videos on a recent trip. Cumulatively, they are over 100 hours long. Each video occupies 2-3 GB minimum and is at least 1 hour long.

I need to trim 2-4 videos and then concatenate them into one single file. This operation needs to be performed for all these videos.

Right now, I am trimming individual videos using the following command:

`ffmpeg.exe -i "INPUT_VIDEO" -ss START_TIME -to END_TIME -c copy "OUTPUT_VIDEO"`

And then I concatenate the videos using this command:

`ffmpeg.exe -f concat -safe 0 -i VideosToBeConcatenated.txt -c copy "CONCATENATED_OUTPUT_VIDEO"`

where `VideosToBeConcatenated.txt` contains the file names of the videos to be concatenated.

Running these commands in a single Command Window gives me a speed of 20-25x. Running them in two Command Windows simultaneously drops the speed to 10-12x, while also making my system lag/freeze.

Is there a way I could use my GPU to speed up these operation? Say, using the i3's Quicksync or R5's AMF/VCE?

I tried using `-hwaccel dxva2` in the above mentioned commands as follows:

`ffmpeg.exe -hwaccel dxva2 -i "INPUT_VIDEO" -ss START_TIME -to END_TIME -c copy "OUTPUT_VIDEO"`

and

`ffmpeg.exe -hwaccel dxva2 -f concat -safe 0 -i VideosToBeConcatenated.txt -c copy "CONCATENATED_OUTPUT_VIDEO"`

However, I don't notice any increase in speed.

I also set `ffmpeg.exe` and `cmd.exe` to "High Performance" in the AMD Switchable Graphics settings. But the in-built Switchable Graphics Monitor suggests that neither of the processes are using the dGPU.

Is there a way I could use my GPUs (i3's Quicksync or R5's AMF/VCE) to speed up these operation **without compromising the quality of the output videos**?

[Edit:] I am trying to make sense of [FFMPEG's Quicksync documentation](https://trac.ffmpeg.org/wiki/Hardware/QuickSync) but it's too mature for an amateur like me.

**Tags:** ffmpeg, encoding, hardware, windows


---

## 1 answers

### Answer by username_1 on 2019-09-05. Score: 1 | Accepted answer

Since you are using `-c copy` in your commands, there is no decoding, filtering or encoding taking place and so hardware acceleration isn't relevant at all. The main bottleneck is disk I/O. On a regular internal HDD (with a 3rd gen CPU) I get speeds of 400x so I suspect you're reading or writing to an external drive. Or your internal drive could be slow, have a smaller cache. The biggest boost will come from writing to a different drive than the drive on which the inputs reside, with ideally both drives being internal.


---

