diff options
author | Jonas Smedegaard <dr@jones.dk> | 2021-02-10 18:01:10 +0100 |
---|---|---|
committer | Jonas Smedegaard <dr@jones.dk> | 2021-02-10 20:52:47 +0100 |
commit | b2ae9148abcec71be8b8f0764a401e24317592df (patch) | |
tree | ca70887ec6512154e17b261cf23b12f15e69e21c /localvideowebencode | |
parent | 450e61b843cfdf2fcd7c7234e599b370fc38cc57 (diff) |
tidy: update TODOs
Diffstat (limited to 'localvideowebencode')
-rwxr-xr-x | localvideowebencode | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/localvideowebencode b/localvideowebencode index 2bd7373..c3b96d6 100755 --- a/localvideowebencode +++ b/localvideowebencode @@ -32,12 +32,15 @@ # + support --width and --height, # resolving other dimension from (explicit or source) aspect ratio # + make choice of encoders configurable +# + warn if inferior containers are used, e.g. non-WebM for VP8/VP9 +# <https://trac.ffmpeg.org/ticket/1171#comment:2> # * tune defaults # + adapt VP8/VP9 quantizer based on frame size # <https://developers.google.com/media/vp9/settings/vod#quality> # + maybe pass option real_time=-2 to melt # <https://www.reddit.com/r/kdenlive/comments/ka0aak/kdenlive_gpucpu_use_threads_mlt_and_ffmpeg_tips/> # + maybe reduce threads to "spend" total available cores only once +# <https://blog.maxwellgale.com/2021/01/30/streaming-video-over-webrtc-using-ffmpeg/> # + apply application option when using opusenc # + use joint stereo for low-bitrate Opus speech # + maybe refine audio bandwidth algorithms @@ -48,14 +51,14 @@ # <http://www.webmproject.org/docs/encoder-parameters/ # + tune VP9 parameters # <https://sites.google.com/a/webmproject.org/wiki/ffmpeg/vp9-encoding-guide> +# + maybe use High profile for H.264 +# <https://stackoverflow.com/questions/21120717/h-264-video-wont-play-on-ios#comment43963026_21121914> # + compute (or hardcode) html5 codec types, e.g. using mp4v2-utils # <http://stackoverflow.com/a/16365526> -# + generalize GOP handling, with keyframes every ~8s by default -# which fits 48kHz audio at 25 fps (200f) and 30fps (240f), -# or an "LL" option of 48f (1.92s at 25fps or 1.6s at 30fps) -# + generalize GOP handling, +# + generalize GOP handling to use "Closed GOPs", # with default "normal" option of 200f@25fps or 240f@30fps (both 8s) # and "low-latency" option of 48f (1.92s at 25fps or 1.6s at 30fps) +# <https://streaminglearningcenter.com/articles/open-and-closed-gops-all-you-need-to-know.html> # <https://stackoverflow.com/questions/30979714/how-to-change-keyframe-interval-in-ffmpeg/41735741#41735741> # <http://anton.lindstrom.io/gop-size-calculator/> # <https://docs.unified-streaming.com/best-practice/content-preparation.html#recommended-fragment-boundaries-are-aligned-across-all-tracks-audio-video-text> @@ -83,6 +86,7 @@ # <https://github.com/FFmpeg/FFmpeg/commit/cc929ce> # <https://github.com/gpac/gpac/commit/4529c60> # * support realtime streaming a.k.a. "ULL", i.e. less than 0.5s latency +# <https://blog.maxwellgale.com/2021/01/30/streaming-video-over-webrtc-using-ffmpeg/> set -e |