Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
== 7.2.2 2025-05-09
== 7.1.3 2025-06-05

Fixes:
* Ensure consistent bit rates for all video representations in the built-in MPEG-DASH presets.

== 7.1.2 2025-05-09

Fixes:
* Removed `-reconnect_at_eof` from `FFMPEG::CommandArgs::NetworkStreaming` to prevent retries
Expand Down
10 changes: 7 additions & 3 deletions lib/ffmpeg/presets/dash/h264.rb
Original file line number Diff line number Diff line change
Expand Up @@ -278,6 +278,13 @@ def initialize(
h264_presets = preset.usable_h264_presets(media)

if media.video_streams?
# Use the highest quality H.264 preset, profile and constant rate factor
# for all video representations, to make sure that the bitrates are
# consistent across all representations.
video_preset h264_presets.first.video_preset
video_profile h264_presets.first.video_profile
constant_rate_factor h264_presets.first.constant_rate_factor, stream_type: 'v'

# Use the default video stream for all representations.
h264_presets.each_with_index do |h264_preset, index|
map media.video_mapping_id do
Expand All @@ -287,9 +294,6 @@ def initialize(
h264_preset.scale_filter(media),
h264_preset.dar_filter(media),
stream_index: index
video_preset h264_preset.video_preset, stream_index: index
video_profile h264_preset.video_profile, stream_index: index
constant_rate_factor h264_preset.constant_rate_factor, stream_type: 'v', stream_index: index
min_keyframe_interval preset.keyframe_interval * frame_rate, stream_index: index
max_keyframe_interval preset.keyframe_interval * frame_rate, stream_index: index
force_keyframes "expr:gte(t,n_forced*#{preset.keyframe_interval})", stream_index: index
Expand Down
2 changes: 1 addition & 1 deletion lib/ffmpeg/version.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# frozen_string_literal: true

module FFMPEG
VERSION = '7.1.2'
VERSION = '7.1.3'
end