<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url><loc>https://nikodev1.medium.com/why-i-replaced-my-ffmpeg-scripts-with-an-api-d9582a10ae20</loc><lastmod>2025-11-03</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url>
<url><loc>https://nikodev1.medium.com/i-tried-dacast-and-six-other-platforms-and-heres-what-i-learned-about-building-with-video-in-dc6492c22157</loc><lastmod>2025-11-03</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
<url><loc>https://nikodev1.medium.com/integrating-a-video-api-taught-me-more-about-failure-than-success-ca8ed1c31d24</loc><lastmod>2025-11-03</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url>
<url><loc>https://nikodev1.medium.com/wiring-video-upload-and-hls-playback-into-a-next-js-app-end-to-end-7e9e82b7e92f</loc><lastmod>2026-05-26</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url>
<url><loc>https://nikodev1.medium.com/shot-detection-is-the-cheap-feature-everyone-underestimates-f2dc5b0f09d3</loc><lastmod>2026-05-25</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url>
<url><loc>https://nikodev1.medium.com/storyboard-thumbnails-the-scrub-bar-preview-your-players-are-missing-8ee4182ea5f4</loc><lastmod>2026-07-14</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url>
<url><loc>https://nikodev1.medium.com/your-hdr-footage-looks-washed-out-on-normal-screens-tone-mapping-is-why-d75af99cf498</loc><lastmod>2026-07-14</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url>
<url><loc>https://nikodev1.medium.com/media-over-quic-is-finally-real-heres-what-it-actually-changes-d6460ae05cc4</loc><lastmod>2026-07-13</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url>
<url><loc>https://nikodev1.medium.com/your-cdn-logs-cant-explain-your-rebuffering-cmcd-fixes-that-19a7ccb3672f</loc><lastmod>2026-07-13</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url>
<url><loc>https://nikodev1.medium.com/captions-were-the-easy-half-of-video-accessibility-71b7b2e35bfd</loc><lastmod>2026-09-18</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url>
<url><loc>https://nikodev1.medium.com/your-custom-player-ends-at-the-cast-button-21c6b746172d</loc><lastmod>2026-09-18</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url>
<url><loc>https://nikodev1.medium.com/five-video-apis-ranked-by-how-hard-it-is-to-leave-f05b906c68be</loc><lastmod>2026-09-18</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url>
<url><loc>https://nikodev1.medium.com/mobile-video-uploads-fail-in-the-background-and-your-progress-bar-is-lying-e359e9328116</loc><lastmod>2026-09-11</lastmod><changefreq>monthly</changefreq><priority>0.2</priority></url>
<url><loc>https://nikodev1.medium.com/the-rebuffering-you-cannot-explain-is-your-own-main-thread-b94177378e47</loc><lastmod>2026-09-10</lastmod><changefreq>monthly</changefreq><priority>0.2</priority></url>
<url><loc>https://nikodev1.medium.com/about</loc><lastmod>2026-10-27</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
<url><loc>https://nikodev1.medium.com</loc><lastmod>2026-10-27</lastmod><changefreq>weekly</changefreq><priority>1.0</priority></url>
<url><loc>https://nikodev1.medium.com/developing-an-e-learning-backend-platform-using-node-js-sdk-59f6110fca0c</loc><lastmod>2025-11-03</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url>
<url><loc>https://nikodev1.medium.com/i-didnt-want-to-deal-with-video-infrastructure-0eabafbc9a25</loc><lastmod>2025-07-08</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url>
<url><loc>https://nikodev1.medium.com/how-to-build-the-video-stack-behind-a-short-form-or-ugc-app-98c8008abe3b</loc><lastmod>2025-06-30</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url>
<url><loc>https://nikodev1.medium.com/how-i-added-resumable-video-uploads-to-my-ios-app-ac60c058a942</loc><lastmod>2025-07-11</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url>
<url><loc>https://nikodev1.medium.com/how-to-build-video-platforms-without-vimeo-or-youtube-850521b48c41</loc><lastmod>2025-07-11</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url>
<url><loc>https://nikodev1.medium.com/the-hidden-infrastructure-behind-upload-a-video-buttons-e38c2d1f033a</loc><lastmod>2025-07-18</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url>
<url><loc>https://nikodev1.medium.com/what-i-found-when-i-looked-beyond-brightcove-060557c0dce7</loc><lastmod>2025-07-18</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url>
<url><loc>https://nikodev1.medium.com/i-tried-7-video-hosting-platforms-in-2025-heres-what-actually-worked-for-my-app-122d148039a7</loc><lastmod>2025-08-01</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
<url><loc>https://nikodev1.medium.com/the-iphone-finally-runs-your-video-players-brain-not-just-its-body-c3126ec54202</loc><lastmod>2026-08-11</lastmod><changefreq>monthly</changefreq><priority>0.2</priority></url>
<url><loc>https://nikodev1.medium.com/dubbing-a-video-library-into-new-languages-with-open-source-ai-8f7b4270899f</loc><lastmod>2026-08-10</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url>
<url><loc>https://nikodev1.medium.com/adding-live-streaming-to-a-saas-dashboard-end-to-end-62357b8b3c95</loc><lastmod>2026-08-09</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url>
<url><loc>https://nikodev1.medium.com/film-grain-is-eating-your-bitrate-av1-can-synthesize-it-instead-385dcf20f1ac</loc><lastmod>2026-08-09</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
<url><loc>https://nikodev1.medium.com/build-a-watch-time-heatmap-from-raw-player-events-0f587e5c541b</loc><lastmod>2026-08-08</lastmod><changefreq>monthly</changefreq><priority>0.2</priority></url>
<url><loc>https://nikodev1.medium.com/ad-breaks-without-breaking-playback-hls-interstitials-in-practice-ba11c031b73b</loc><lastmod>2026-08-08</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url>
<url><loc>https://nikodev1.medium.com/the-rebuffering-complaints-were-real-our-dashboards-were-blind-3e49c3ebf4c7</loc><lastmod>2026-08-07</lastmod><changefreq>monthly</changefreq><priority>0.2</priority></url>
<url><loc>https://nikodev1.medium.com/the-browser-never-had-a-broadcast-button-whip-finally-adds-one-2b7ca39ea259</loc><lastmod>2026-08-07</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url>
<url><loc>https://nikodev1.medium.com/gpu-transcoding-is-cheaper-until-the-moment-it-isnt-3f26246865fc</loc><lastmod>2026-08-06</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url>
<url><loc>https://nikodev1.medium.com/multi-cdn-failover-without-a-load-balancer-hls-content-steering-4391d79b3d28</loc><lastmod>2026-08-06</lastmod><changefreq>monthly</changefreq><priority>0.2</priority></url>
<url><loc>https://nikodev1.medium.com/av2-is-officially-here-heres-why-your-pipeline-shouldn-t-change-yet-c669f819c99c</loc><lastmod>2026-08-05</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url>
<url><loc>https://nikodev1.medium.com/av1-encoding-moved-to-the-gpu-and-your-ladder-should-care-7dc53ecba305</loc><lastmod>2026-08-04</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url>
<url><loc>https://nikodev1.medium.com/the-stutter-in-your-stream-isnt-the-network-it-s-your-keyframes-1e1a52a4c078</loc><lastmod>2026-08-04</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url>
<url><loc>https://nikodev1.medium.com/i-benchmarked-five-video-apis-on-two-files-and-the-winner-flipped-6787f1affe86</loc><lastmod>2026-08-04</lastmod><changefreq>monthly</changefreq><priority>0.2</priority></url>
<url><loc>https://nikodev1.medium.com/your-video-pipeline-has-no-tests-because-every-test-costs-money-f5e93af3aba7</loc><lastmod>2026-09-30</lastmod><changefreq>daily</changefreq><priority>0.2</priority></url>
<url><loc>https://nikodev1.medium.com/the-second-encode-you-stopped-needing-multi-drm-in-2026-39f13a4f1512</loc><lastmod>2026-06-03</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url>
<url><loc>https://nikodev1.medium.com/your-viewers-keep-reaching-for-the-volume-knob-heres-the-audio-bug-nobody-owns-4fa0bd3d10dd</loc><lastmod>2026-06-03</lastmod><changefreq>monthly</changefreq><priority>0.7</priority></url>
<url><loc>https://nikodev1.medium.com/searching-inside-video-without-watching-it-embeddings-transcripts-and-frames-9ac6465afd72</loc><lastmod>2026-08-19</lastmod><changefreq>monthly</changefreq><priority>0.2</priority></url>
<url><loc>https://nikodev1.medium.com/the-hard-part-of-automated-clipping-is-not-the-cutting-99eaaeee4299</loc><lastmod>2026-08-18</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url>
<url><loc>https://nikodev1.medium.com/vvc-finally-shipped-somewhere-big-it-still-isnt-coming-to-your-web-player-41721405f233</loc><lastmod>2026-09-04</lastmod><changefreq>monthly</changefreq><priority>0.2</priority></url>
<url><loc>https://nikodev1.medium.com/six-managed-streaming-providers-i-shipped-against-this-quarter-1a38e3e8f0fa</loc><lastmod>2026-05-19</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url>
<url><loc>https://nikodev1.medium.com/per-title-encoding-is-the-bitrate-ladder-upgrade-most-teams-skip-c2724ab3bffe</loc><lastmod>2026-05-14</lastmod><changefreq>monthly</changefreq><priority>0.5</priority></url>
<url><loc>https://nikodev1.medium.com/stop-encoding-every-scene-at-the-same-bitrate-capped-crf-for-vod-ladders-7c23ef080394</loc><lastmod>2026-10-12</lastmod><changefreq>daily</changefreq><priority>0.5</priority></url>
<url><loc>https://nikodev1.medium.com/rtmp-has-no-error-recovery-that-is-why-your-live-stream-drops-4d7b452de07e</loc><lastmod>2026-10-12</lastmod><changefreq>daily</changefreq><priority>0.2</priority></url>
</urlset>
