Skip to content

Convert documentation GIF animations to MP4 videos#18946

Merged
harupy merged 13 commits intomlflow:masterfrom
harupy:docs/convert-gif-to-mp4
Nov 21, 2025
Merged

Convert documentation GIF animations to MP4 videos#18946
harupy merged 13 commits intomlflow:masterfrom
harupy:docs/convert-gif-to-mp4

Conversation

@harupy
Copy link
Member

@harupy harupy commented Nov 21, 2025

🛠 DevTools 🛠

Open in GitHub Codespaces

Install mlflow from this PR

# mlflow
pip install git+https://github.com/mlflow/mlflow.git@refs/pull/18946/merge
# mlflow-skinny
pip install git+https://github.com/mlflow/mlflow.git@refs/pull/18946/merge#subdirectory=libs/skinny

For Databricks, use the following command:

%sh curl -LsSf https://raw.githubusercontent.com/mlflow/mlflow/HEAD/dev/install-skinny.sh | sh -s pull/18946/merge

What changes are proposed in this pull request?

Replace all GIF images in documentation with MP4 video tags to provide better user control and reduce file sizes. Users can now pause, play, and scrub through animations instead of being forced to watch looping GIFs.

File Size Reduction:

  • Original GIFs: 43 files → 595.40 MB
  • New MP4 videos: 43 files → 92.55 MB
  • Total reduction: 502.85 MB (84.5% smaller)

Conversion Details:
FFmpeg command used for web-optimized MP4 conversion:

ffmpeg -i input.gif -movflags faststart -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" output.mp4 -y
  • -movflags faststart - Enables progressive streaming (video starts playing before fully downloaded)
  • -pix_fmt yuv420p - Ensures broad browser compatibility
  • -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" - Ensures dimensions are divisible by 2 (codec requirement)

Changes:

  • Converted 43 GIF files to MP4 format
  • Updated 33 MDX files to use <video> tags with controls
  • Added useBaseUrl imports to ensure proper path resolution
  • All videos include controls, loop, autoPlay, and muted attributes
  • Fixed table formatting issues

How is this PR tested?

  • Manual tests

Verified videos display correctly in the documentation with full playback controls by running the docs server locally.

Does this PR require documentation update?

  • No. You can skip the rest of this section.

Release Notes

Is this a user-facing change?

  • Yes. Give a description of this change to be included in the release notes for MLflow users.

Documentation animations are now controllable MP4 videos instead of auto-looping GIFs, allowing users to pause, play, and scrub through content.

What component(s), interfaces, languages, and integrations does this PR affect?

Components

  • area/docs: MLflow documentation pages

How should the PR be classified in the release notes? Choose one:

  • rn/documentation - A user-facing documentation change worth mentioning in the release notes

Should this PR be included in the next patch release?

  • Yes (this PR will be cherry-picked and included in the next patch release)
  • No (this PR will be included in the next minor release)

🤖 Generated with Claude Code

Replace all GIF images in documentation with MP4 video tags to provide
better user control and reduce file sizes. Users can now pause, play,
and scrub through animations instead of being forced to watch looping GIFs.

Changes:
- Converted 41 GIF files to MP4 format using ffmpeg
- Updated 33 MDX files to use <video> tags with controls
- Removed standalone maxWidth styling (preserved complex styles)
- All videos include controls, loop, autoPlay, and muted attributes

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: harupy <17039389+harupy@users.noreply.github.com>
@github-actions github-actions bot added v3.6.1 area/docs Documentation issues rn/documentation Mention under Documentation Changes in Changelogs. labels Nov 21, 2025
@github-actions
Copy link
Contributor

github-actions bot commented Nov 21, 2025

Documentation preview for 6909328 is available at:

Changed Pages (31)
More info
  • Ignore this comment if this PR does not change the documentation.
  • The preview is updated when a new commit is pushed to this PR.
  • This comment was created by this workflow run.
  • The documentation was built by this workflow run.

harupy and others added 4 commits November 21, 2025 12:04
Wrap all video src paths with useBaseUrl() to ensure proper URL resolution
when docs are served from subdirectories or different base paths.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: harupy <17039389+harupy@users.noreply.github.com>
- Add missing useBaseUrl imports to 9 files
- Move misplaced imports to top of files (3 files)
- Remove duplicate import from manual-tracing.mdx
- Fix import incorrectly placed in Python code block
- All imports now correctly placed at file top with other imports

Signed-off-by: harupy <17039389+harupy@users.noreply.github.com>
Remove blank line between table header and content rows

Signed-off-by: harupy <17039389+harupy@users.noreply.github.com>
Align table columns for better readability

Signed-off-by: harupy <17039389+harupy@users.noreply.github.com>
Copy link
Collaborator

@B-Step62 B-Step62 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks AWESOME!

Signed-off-by: harupy <17039389+harupy@users.noreply.github.com>
These files reference external resources (Databricks and GitHub) that are GIFs, not local MP4 files from our conversion

Signed-off-by: harupy <17039389+harupy@users.noreply.github.com>
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR converts 43 GIF animations to MP4 videos across MLflow documentation to reduce file sizes by 84.5% (from 595.40 MB to 92.55 MB) while providing better user control through video playback controls.

Key changes:

  • Converted 43 GIF files to web-optimized MP4 format using FFmpeg
  • Replaced <ImageBox> and ![image] tags with <video> elements
  • Added useBaseUrl imports for proper path resolution in Docusaurus

Reviewed Changes

Copilot reviewed 31 out of 117 changed files in this pull request and generated 15 comments.

File Description
33 MDX documentation files Updated media references from GIF to MP4, added useBaseUrl imports, replaced image/ImageBox tags with video elements
docs/docs/genai/concepts/evaluation-datasets.mdx Fixed table formatting in addition to video conversion
Comments suppressed due to low confidence (10)

docs/docs/genai/tracing/index.mdx:5

  • The ImageBox import is no longer used after converting the GIF to a video element. This unused import should be removed to keep the code clean.
import ImageBox from "@site/src/components/ImageBox";

docs/docs/genai/tracing/integrations/listing/openai.mdx:13

  • The ImageBox import is no longer used after converting the GIF to a video element. This unused import should be removed to keep the code clean.
import ImageBox from "@site/src/components/ImageBox";

docs/docs/genai/tracing/integrations/listing/llama_index.mdx:1

  • The ImageBox import is no longer used after converting the GIF to a video element. This unused import should be removed to keep the code clean.
---

docs/docs/genai/tracing/integrations/listing/langgraph.mdx:1

  • The ImageBox import is no longer used after converting the GIF to a video element. This unused import should be removed to keep the code clean.
---

docs/docs/genai/tracing/integrations/listing/langchain.mdx:1

  • The ImageBox import is no longer used after converting the GIF to a video element. This unused import should be removed to keep the code clean.
---

docs/docs/genai/tracing/integrations/listing/dspy.mdx:1

  • The ImageBox import is no longer used after converting the GIF to a video element. This unused import should be removed to keep the code clean.
---

docs/docs/genai/tracing/integrations/listing/crewai.mdx:1

  • The ImageBox import is no longer used after converting the GIF to a video element. This unused import should be removed to keep the code clean.
---

docs/docs/genai/eval-monitor/index.mdx:5

  • The ImageBox import is no longer used after converting the GIF to a video element. This unused import should be removed to keep the code clean.
import ImageBox from "@site/src/components/ImageBox";

docs/docs/genai/datasets/index.mdx:4

  • The ImageBox import is no longer used after converting the GIF to a video element. This unused import should be removed to keep the code clean.
import ImageBox from "@site/src/components/ImageBox";

docs/docs/genai/concepts/evaluation-datasets.mdx:2

  • The ImageBox import is no longer used after converting the GIF to a video element. This unused import should be removed to keep the code clean.
import ImageBox from "@site/src/components/ImageBox";

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

harupy and others added 5 commits November 21, 2025 15:31
After converting GIF animations to MP4 videos in the deep learning
documentation pages, the ImageBox component is no longer used in these
files. This commit removes the unused imports.

Files affected:
- docs/classic-ml/deep-learning/index.mdx
- docs/classic-ml/deep-learning/pytorch/index.mdx
- docs/classic-ml/deep-learning/tensorflow/index.mdx

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: harupy <17039389+harupy@users.noreply.github.com>
Signed-off-by: harupy <17039389+harupy@users.noreply.github.com>
After converting GIF animations to MP4 videos throughout the
documentation, several files still had unused ImageBox imports.
This commit removes all remaining unused ImageBox imports.

Files affected:
- docs/classic-ml/traditional-ml/index.mdx
- docs/genai/assessments/feedback.mdx
- docs/genai/concepts/evaluation-datasets.mdx
- docs/genai/concepts/expectations.mdx
- docs/genai/concepts/scorers.mdx
- docs/genai/datasets/index.mdx
- docs/genai/tracing/app-instrumentation/automatic.mdx
- docs/genai/tracing/collect-user-feedback/index.mdx
- docs/genai/tracing/index.mdx
- docs/genai/tracing/integrations/listing/vercelai.mdx
- docs/genai/tracing/opentelemetry/index.mdx
- docs/genai/tracing/track-users-sessions/index.mdx

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: harupy <17039389+harupy@users.noreply.github.com>
Added aria-label attributes to all video elements in documentation pages,
using the original alt text from when they were GIF images. This improves
accessibility by providing descriptive text for screen readers while
maintaining the same context that was previously available.

Updates 31 MDX files across:
- Deep Learning documentation (PyTorch, TensorFlow)
- Traditional ML tutorials (hyperparameter tuning)
- GenAI documentation (tracing, evaluation, datasets)
- Integration guides (LangChain, DSPy, LlamaIndex, OpenAI, etc.)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: harupy <17039389+harupy@users.noreply.github.com>
Signed-off-by: harupy <17039389+harupy@users.noreply.github.com>
@harupy harupy merged commit 731c3dc into mlflow:master Nov 21, 2025
43 of 45 checks passed
@harupy harupy deleted the docs/convert-gif-to-mp4 branch November 21, 2025 10:51
jimilp7 pushed a commit to backspace-org/mlflow that referenced this pull request Nov 21, 2025
Signed-off-by: harupy <17039389+harupy@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Tian-Sky-Lan pushed a commit to Tian-Sky-Lan/mlflow that referenced this pull request Nov 24, 2025
Signed-off-by: harupy <17039389+harupy@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
Signed-off-by: Tian Lan <sky.blue266000@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/docs Documentation issues rn/documentation Mention under Documentation Changes in Changelogs. v3.6.1

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants