Merging VP9 files, without audio

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Merging VP9 files, without audio

Morten W. Petersen
Hi there.

I have a project which takes images using a webcam, called surveil:

https://github.com/morphex/surveil

These images are compiled into a (short) video, and then mailed.

Now I'd like to add a feature, where videos are downloaded, and scanned for
motion.

So these videos have to be merged together into one file, and I guess
prepending and appending 5 minutes to a 24 hour segment, should give for
example OpenCV the necessary data to detect motion in that segment.

What's a good, non-resource-intensive way of merging VP9 videos into one,
using ffmpeg?

Regards,

Morten
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: Merging VP9 files, without audio

Morten W. Petersen
Hi again.

From what I've seen, decoding and merging the files seems like the option
available in ffmpeg.

I read a bit on the ffmpeg concat (Concatenate in the wiki) page, but this
is a bit over my head, I'm not that experienced with ffmpeg.

I could also do motion detection on the fly in OpenCV, decoding and feeding
video files to OpenCV, if that's supported.

But I guess another question in all of this, is GPU-accelerated decoding
and encoding. What brands of cards are supported for this? And what is the
speed of a GT 1030 or R9 280X, compared to a modern CPU?

Regards,

Morten

Den lør. 24. nov. 2018, 15.55 skrev Morten W. Petersen <[hidden email]:

> Hi there.
>
> I have a project which takes images using a webcam, called surveil:
>
> https://github.com/morphex/surveil
>
> These images are compiled into a (short) video, and then mailed.
>
> Now I'd like to add a feature, where videos are downloaded, and scanned
> for motion.
>
> So these videos have to be merged together into one file, and I guess
> prepending and appending 5 minutes to a 24 hour segment, should give for
> example OpenCV the necessary data to detect motion in that segment.
>
> What's a good, non-resource-intensive way of merging VP9 videos into one,
> using ffmpeg?
>
> Regards,
>
> Morten
>
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: Merging VP9 files, without audio

Brainiarc7
Hello there,

I'll answer the second part, concerning GPU acceleration:

First, consider what platform you're on. With Windows, you have access to
QuickSync (Intel), NVENC (Nvidia Kepler+) and AMD's VCE through AMF (On AMD
GCN-class hardware).
On Linux, you have access to VAAPI (on Intel and to a limited extent, AMD
GCN GPUs  with the mesa driver), QuickSync (Intel) and NVENC (Nvidia
Kepler+).
For applicable limitations, see this:
https://trac.ffmpeg.org/wiki/HWAccelIntro

A few rules of thumb:

1. If you're targeting VP8 and VP9 encoding on hardware, only Intel -based
IGPs expose this capability through VAAPI (at the moment). This is
available on Coffeelake and beyond.
2. Newer GPU generations across all vendors (AMD, Intel and NVIDIA) do
expose better support for the common codec types, namely VP8, VP9, HEVC and
of course, H.264/AVC (whose support at this point is ubiquitous).
However, this is not always the case. For instance, with AMD Polaris+,
their GPUs gained a HEVC encoder, and in return, dropped support for
B-frames in H.264/AVC encoding. Be on the look-out for such regressions.
3. Understand that hwaccels have limits, particularly with quality control
and format support, and as such, your mileage will vary. Carefully consider
the trade-offs vs any potential performance gains your workflow may gain.

Concerning performance:

1. The GT 1030 does not expose support for NVENC, so you can forget about
hardware-accelerated encoding on it. However, hardware accelerated decoding
should still be available for common formats.

2. For AMD GPUs and feature support, please start here:

(a). The AMF encoder limits wiki:
https://github.com/obsproject/obs-amd-encoder/wiki/Hardware-Support

(b). The Radeon feature matrix: https://www.x.org/wiki/RadeonFeature/

Do reach out if you have any further queries.

Warm regards,

Dennis.

On Thu, 29 Nov 2018 at 00:13, Morten W. Petersen <[hidden email]> wrote:

> Hi again.
>
> From what I've seen, decoding and merging the files seems like the option
> available in ffmpeg.
>
> I read a bit on the ffmpeg concat (Concatenate in the wiki) page, but this
> is a bit over my head, I'm not that experienced with ffmpeg.
>
> I could also do motion detection on the fly in OpenCV, decoding and feeding
> video files to OpenCV, if that's supported.
>
> But I guess another question in all of this, is GPU-accelerated decoding
> and encoding. What brands of cards are supported for this? And what is the
> speed of a GT 1030 or R9 280X, compared to a modern CPU?
>
> Regards,
>
> Morten
>
> Den lør. 24. nov. 2018, 15.55 skrev Morten W. Petersen <[hidden email]:
>
> > Hi there.
> >
> > I have a project which takes images using a webcam, called surveil:
> >
> > https://github.com/morphex/surveil
> >
> > These images are compiled into a (short) video, and then mailed.
> >
> > Now I'd like to add a feature, where videos are downloaded, and scanned
> > for motion.
> >
> > So these videos have to be merged together into one file, and I guess
> > prepending and appending 5 minutes to a 24 hour segment, should give for
> > example OpenCV the necessary data to detect motion in that segment.
> >
> > What's a good, non-resource-intensive way of merging VP9 videos into one,
> > using ffmpeg?
> >
> > Regards,
> >
> > Morten
> >
> _______________________________________________
> ffmpeg-user mailing list
> [hidden email]
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> [hidden email] with subject "unsubscribe".
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: Merging VP9 files, without audio

Morten W. Petersen
On Fri, Nov 30, 2018 at 9:44 PM Dennis Mungai <[hidden email]> wrote:

> Hello there,
>

Ahoy Dennis.


>
> I'll answer the second part, concerning GPU acceleration:
>
> First, consider what platform you're on. With Windows, you have access to
> QuickSync (Intel), NVENC (Nvidia Kepler+) and AMD's VCE through AMF (On AMD
> GCN-class hardware).
> On Linux, you have access to VAAPI (on Intel and to a limited extent, AMD
> GCN GPUs  with the mesa driver), QuickSync (Intel) and NVENC (Nvidia
> Kepler+).
> For applicable limitations, see this:
> https://trac.ffmpeg.org/wiki/HWAccelIntro
>
> A few rules of thumb:
>
> 1. If you're targeting VP8 and VP9 encoding on hardware, only Intel -based
> IGPs expose this capability through VAAPI (at the moment). This is
> available on Coffeelake and beyond.
>

Right. I saw Ittiam had a VP9 encoder which makes use of the Mali GPU,
but I think it is best to use a desktop for the concatenation and searching
of
video.

Just for raw power, and quick results while I'm experimenting and
developing.


> 2. Newer GPU generations across all vendors (AMD, Intel and NVIDIA) do
> expose better support for the common codec types, namely VP8, VP9, HEVC and
> of course, H.264/AVC (whose support at this point is ubiquitous).
> However, this is not always the case. For instance, with AMD Polaris+,
> their GPUs gained a HEVC encoder, and in return, dropped support for
> B-frames in H.264/AVC encoding. Be on the look-out for such regressions.
> 3. Understand that hwaccels have limits, particularly with quality control
> and format support, and as such, your mileage will vary. Carefully consider
> the trade-offs vs any potential performance gains your workflow may gain.
>

I have some older NVIDIA and AMD (ATI) cards, which I could use for
this purpose, as they're not being used for anything else.

What I'm trying to do, is merge some videos, and detect motion in those.

As long as the quality is good enough to detect motion, there could in turn
be shorter videos that are concatenated with higher quality, to enable
the ability to discern as much as possible in the video.

I see OpenCV says something about OpenCL as well, so if I'm able to
merge videos and scan them using these GPUs - great.


> Concerning performance:
>
> 1. The GT 1030 does not expose support for NVENC, so you can forget about
> hardware-accelerated encoding on it. However, hardware accelerated decoding
> should still be available for common formats.
>
> 2. For AMD GPUs and feature support, please start here:
>
> (a). The AMF encoder limits wiki:
> https://github.com/obsproject/obs-amd-encoder/wiki/Hardware-Support
>
> (b). The Radeon feature matrix: https://www.x.org/wiki/RadeonFeature/
>
> Do reach out if you have any further queries.
>


OK, thanks for the info.

Kind regards,

Morten

--
Videos at https://www.youtube.com/user/TheBlogologue
Twittering at http://twitter.com/blogologue
Blogging at http://blogologue.com
Playing music at https://soundcloud.com/morten-w-petersen
Also playing music and podcasting here:
http://www.mixcloud.com/morten-w-petersen/
On Google+ here https://plus.google.com/107781930037068750156
On Instagram at https://instagram.com/morphexx/
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".