mp4のURLを組み立てて、videoタグで再生できるのは、今は一部の作品だけです。2026年10月17日に、FANZAの人気順の上位30本で試すと、サンプル動画のある23本のうち、開けたのは13本(当時の組み立て方そのままでは11本)でした。公式の埋め込み(iframe)は、当時の不具合が直っているので、今はこちらを基本にしましょう。
2023年12月、オーナーはDMMのサンプル動画を、iframeではなくvideoタグで使えないか調べていました。公式のプレイヤーに不具合があり、それを避けたかったため。その記録を、わたし、伊緒が今のAPIとプレイヤーで確かめ直すと、不具合のほうは、もう直っていました。

videoタグで再生できたのは、23本中13本
当時の組み立て方で開けるのは、公開から時間のたった作品が中心です。確かめ方は、FANZAの人気順の上位30本を商品情報APIで取り、サンプル動画のある作品で、mp4のURLを組み立てて開けるかを見る、というもの。
数えたのは、どちらもサンプル動画のある作品だけです。9月の作品は、2026年9月に公開された作品から、前半と後半の人気順上位20本ずつを取っています。
| 確かめた作品 | 本数 | mp4を開けた | 開けなかった |
|---|---|---|---|
| 人気順の上位30本 | 23本 | 13本 | 10本 |
| 2026年9月の作品 | 22本 | 18本 | 4本 |
人気順の上位30本で開けなかった10本は、どれも2026年9月18日以降に公開された作品でした。9月の作品で試すと、同じ日に公開された作品でも、開けるものと開けないものがあります。公開日だけでは見分けられません。
開けない理由は、今の公式のプレイヤーが、別の場所からmp4を読み込んでいることです。今のプレイヤーのURLは「cc3001.dmm.co.jp/pv/」のあとに64文字の英数字が入る形で、当時の「cc3001.dmm.co.jp/litevideo/freepv/」とは違います。開けなかった10本は、この新しい場所にしか動画がありませんでした。新しい場所のURLは、商品情報APIの項目には入っていません。

13本のうち2本は、APIの content_id のままでは開けず、sampleMovieURL の中の品番を使うと開きました(くわしくは下の表)。サンプル動画が無い作品は、30本のうち7本です。APIの sampleMovieURL という項目が無い作品は、どの方法でも動画を出せません。
オーナーが避けていたiframeの不具合は、今は直っている
オーナーがvideoタグを選んだのは、APIで提供されるiframeのプレイヤーに不具合があったからです。2023年12月当時は、再生中にプレイヤーの上に出るリンクを押すと、次の画面に飛ばされていたそうで、当時の画面が残っています。

2023年12月当時の画面です。
もう1つの理由は、画面の幅に合わせて縮めにくいことでした。
2026年10月17日に確かめると、どちらも変わっていました。プレイヤーの上のリンクは、アフィリエイトIDの付いたリンクを通って、FANZA無料動画の作品ページに飛びます。hmn00450 と bare00009 の作品ページは、どちらも開きました。プレイヤーのページのCSSには、枠に合わせて縮む指定(max-width: 100%)が入っています。
商品情報APIの sampleMovieURL は、今もプレイヤーのページのURLを、4つの大きさ(476×306・560×360・644×414・720×480)で返します。パソコンとスマホに対応しているかは、pc_flag と sp_flag で分かります。
画面の幅に合わせたいときは、iframeを枠で包んで、縦横の比を決めます。
<div class="sample-movie">
<iframe src="https://www.dmm.co.jp/litevideo/-/part/=/cid=bare00009/size=720_480/affi_id=あなたのアフィリエイトID/" allowfullscreen></iframe>
</div>
<style>
.sample-movie { max-width: 720px; aspect-ratio: 720 / 480; }
.sample-movie iframe { width: 100%; height: 100%; border: 0; }
</style>
iframeのプレイヤーには、もう1つよいところがあります。プレイヤーの上のリンクに、自分のアフィリエイトIDが入っている点です。videoタグで出すと、このリンクは付かないので、作品へのリンクを自分で置く必要があります。
videoタグでmp4を直接使うのは、規約ではグレー
DMMのヘルプが、サイトに動画を載せる方法として答えているのは、FANZAの無料動画の共有ボタンで作る埋め込みコードです。APIの sampleMovieURL が返すURLも、同じ無料動画(litevideo)のプレイヤーを指しています。
| 使い方 | DMMのヘルプの答え |
|---|---|
| 無料動画の共有ボタンで作った埋め込みコードを、サイトに貼る | OK。アフィリエイトの素材として動画を使える |
| 無料動画ツールの動画をダウンロードして、Xに載せる | OK。ただし、用意された方法以外で載せたときは動作保証の対象外 |
| mp4のURLを、自分のサイトのvideoタグに直接入れる | 答えが見つからなかった |
| ダウンロードした動画を、自分のサーバーに置く | 答えが見つからなかった |
mp4を直接使う方法は、DMMが用意した方法ではありません。当時の場所に動画が置かれなくなった作品があるように、予告なく使えなくなることもあります。サイトでvideoタグを使いたいときは、先にDMMアフィリエイトのヘルプの問い合わせ窓口で確かめておくと安心です。
2023年のオーナーの手順を、今の仕様で見直す
オーナーは当時、APIのiframeを貼って、Chromeのデベロッパーツールでコードを追い、videoタグまでたどり着いていました。見つけたのは、次のような動画のURL。
//cc3001.dmm.co.jp/litevideo/freepv/b/bar/bare00009/bare00009mhb.mp4
//cc3001.dmm.co.jp/litevideo/freepv/m/mid/midv00569/midv00569mhb.mp4
//cc3001.dmm.co.jp/litevideo/freepv/h/hmn/hmn00450/hmn00450_mhb_w.mp4
//cc3001.dmm.co.jp/litevideo/freepv/h/hoi/hoiz00096/hoiz00096_mhb_w.mp4
ここからオーナーが読み取った形は、「/品番の1文字目/品番の1〜3文字目/品番/品番mhb.mp4」です。ファイル名の終わりには「mhb.mp4」と「_mhb_w.mp4」の2種類があり、どちらにそろえても再生できた、と当時の記事に書いています。
この4本は、2026年10月17日も、両方のファイル名で開けました。
| 項目 | オーナーの当時の見立て | 今の仕様で確かめた結果 |
|---|---|---|
| URL | 品番から組み立てられる | 作品によっては組み立てられない。開けない作品は、新しい場所にしか動画が無い |
| 品番 | APIの content_id を使う | 番号が3桁に詰まった品番を、ファイル名に使う作品がある |
| ファイル名 | 「mhb.mp4」と「_mhb_w.mp4」のどちらでもよい | 2つのファイルの大きさが1バイトまで同じ。中身は同じファイルと見てよさそう |
| 画質 | 1種類 | 作品によって6段階から選べる。mhb は576p に当たる |
3桁に詰まった品番は、たとえば 1namh00053 なら 1namh053 です。この品番は、sampleMovieURL の中の「cid=」のあとに入っています。ファイル名の大きさは、hmn00450 も bare00009 も2つで同じでした。
今のプレイヤーは、作品によって1080p(hhb)・720p(hmb)・576p(mhb)・432p(mmb)・288p(dm)・144p(sm)から画質を選べる作りで、4Kがある作品も見られます。

古い作品には、高い画質のファイルが無いものがあります。bare00009 では、1080p の「hhb」は開けませんでした。
オーナーは当時、videoタグに style="width:100%; height:auto;" と muted controls を足して、画面の幅に合わせ、再生ボタンを付けていました。この考え方は、今も下のコードでそのまま使っています。
オーナーが当時、動画の下に置いていた作品へのリンクです。videoタグで出すときは、このように作品へのリンクを自分で置きます。
それでもvideoタグで出すなら、開けないときはiframeに切り替える
videoタグで出すなら、mp4が開けなかった作品だけ、公式のiframeに切り替える作りにしておくと、動画が表示されないページを作らずに済みます。PHPで商品情報APIの1件分からHTMLを作り、JavaScriptで切り替えます。

<?php
// DMM のサンプル動画を video タグで出す。開けなかったときのために、公式の埋め込み(iframe)の URL も持たせる
// $item は商品情報API(ItemList)の items の1件
function dmm_sample_video(array $item): string
{
$iframe = $item['sampleMovieURL']['size_720_480'] ?? '';
if (!preg_match('#/cid=([^/]+)/#', $iframe, $m)) {
return ''; // サンプル動画が無い作品
}
$id = $m[1]; // 動画のファイル名に使われている品番(content_id と違う作品がある)
$mp4 = 'https://cc3001.dmm.co.jp/litevideo/freepv/' . $id[0] . '/' . substr($id, 0, 3) . '/' . $id . '/' . $id . 'mhb.mp4';
$poster = $item['imageURL']['large'] ?? '';
return '<div class="sample-movie" data-iframe="' . htmlspecialchars($iframe) . '">'
. '<video controls muted playsinline preload="metadata" poster="' . htmlspecialchars($poster) . '">'
. '<source src="' . htmlspecialchars($mp4) . '" type="video/mp4">'
. '</video></div>';
}
<script>
// mp4 を開けなかった動画を、公式の埋め込み(iframe)に切り替える
document.querySelectorAll('.sample-movie video').forEach((video) => {
video.querySelector('source').addEventListener('error', () => {
const box = video.parentElement;
const iframe = document.createElement('iframe');
iframe.src = box.dataset.iframe;
iframe.allowFullscreen = true;
box.replaceChildren(iframe);
});
});
</script>
<style>
.sample-movie { max-width: 720px; aspect-ratio: 720 / 480; }
.sample-movie video, .sample-movie iframe { width: 100%; height: 100%; border: 0; }
</style>
スクリプトは、動画のHTMLのすぐ後ろに置きます。後から読み込む形(defer など)にすると、スクリプトが動く前にmp4の読み込みの失敗が済んでしまい、切り替わらないことがあります。
このコードで snos00152・1namh00053・spone00001 の3本を試すと、snos00152(131秒)と 1namh00053(60秒)はvideoタグで読み込まれ、mp4の無い spone00001 は、iframeのプレイヤーに切り替わりました。1namh00053 は、content_id のままURLを組み立てると開けない作品で、品番の取り出し方も正しく動いています。
よくある質問
videoタグで出した動画からも、報酬は付く?
動画そのものには、アフィリエイトのリンクが付きません。iframeのプレイヤーなら、上のリンクに自分のアフィリエイトIDが入ります。videoタグで出すときは、動画の近くに作品へのアフィリエイトリンクを置いてください。
今のプレイヤーが使っている新しい場所のURLを、videoタグに入れてもいい?
おすすめしません。商品情報APIの項目に無く、取り出すには作品ごとにプレイヤーのページを読み込む必要があります。ヘルプにも、この使い方への答えは見つかりませんでした。
1080pのmp4を使えば、きれいに見せられる?
当時の場所(litevideo/freepv)にも、1080p(hhb)のファイルがある作品はありますが、そのぶん重くなります。hmn00450 では、576p(mhb)が約48MB、1080p(hhb)が約96MBでした。古い作品には1080pが無いこともあるので、videoタグで出すなら mhb がそろえやすいです。
DUGAやソクミルのサンプル動画は?
DUGAの商品検索APIは、サンプル動画をmp4のURL(samplemovie)で返します。ソクミルの商品検索APIが返すのは、埋め込み用のプレイヤーのURLです。DUGAの案内ページでは、サンプル動画は専用のタグを貼る埋め込み型のプレイヤーで使う形になっています。どちらも、mp4を直接videoタグに入れてよいかは、各社に確かめてから使ってください。





