47 lines
1.4 KiB
Diff
47 lines
1.4 KiB
Diff
--- a/ffmpeg.c
|
|
+++ b/ffmpeg.c
|
|
@@ -60,6 +60,7 @@
|
|
#define MY_CODEC_ID_MPEG2VIDEO AV_CODEC_ID_MPEG2VIDEO
|
|
#define MY_CODEC_ID_H264 AV_CODEC_ID_H264
|
|
#define MY_CODEC_ID_HEVC AV_CODEC_ID_HEVC
|
|
+#define MY_CODEC_ID_VP8 AV_CODEC_ID_VP8
|
|
|
|
#else
|
|
|
|
@@ -70,6 +71,7 @@
|
|
#define MY_CODEC_ID_MPEG2VIDEO CODEC_ID_MPEG2VIDEO
|
|
#define MY_CODEC_ID_H264 CODEC_ID_H264
|
|
#define MY_CODEC_ID_HEVC CODEC_ID_H264
|
|
+#define MY_CODEC_ID_VP8 CODEC_ID_VP8
|
|
|
|
#endif
|
|
/*********************************************/
|
|
@@ -303,10 +305,14 @@
|
|
ext = ".mkv";
|
|
of = av_guess_format ("matroska", NULL, NULL);
|
|
of->video_codec = MY_CODEC_ID_H264;
|
|
- } else if (strcmp (codec, "hevc") == 0){
|
|
- ext = ".mp4";
|
|
- of = av_guess_format ("mp4", NULL, NULL);
|
|
+ } else if (strcmp (codec, "hevc") == 0){
|
|
+ ext = ".mp4";
|
|
+ of = av_guess_format ("mp4", NULL, NULL);
|
|
of->video_codec = MY_CODEC_ID_HEVC;
|
|
+ } else if (strcmp (codec, "webm") == 0){
|
|
+ ext = ".webm";
|
|
+ of = av_guess_format ("webm", NULL, NULL);
|
|
+ of->video_codec = MY_CODEC_ID_VP8;
|
|
} else {
|
|
MOTION_LOG(ERR, TYPE_ENCODER, NO_ERRNO, "%s: ffmpeg_video_codec option value"
|
|
" %s is not supported", codec);
|
|
@@ -319,8 +325,7 @@
|
|
}
|
|
|
|
/* The 4 allows for ".avi" or ".mpg" to be appended. */
|
|
- strncat(filename, ext, 4);
|
|
-
|
|
+ strncat(filename, ext, 5);
|
|
return of;
|
|
}
|
|
/**
|