Skip to content
Back to Blog
platform-pain-points

動画のアップロードが99%で止まる?原因と解決策

2026-05-17 9 min read

ファイルアップロードで99%が最も残酷な数字である理由

アップロード全体を待ちましたね。大きな動画ファイルだと、10分、20分、あるいは40分もかかったかもしれません。そして、それが突然止まるんです。50%でも80%でもなく、ゴール直前の99%で。プログレスバーはそこに鎮座し、あなたをあざ笑うかのように見えます。あと5分待つべきか、それともタブを閉じて最初からやり直すべきか、葛藤するでしょう。 これは偶然の不具合ではありません。99%で停止する現象は、CocoConvertを含むほとんどすべてのブラウザベースのアップロードシステムでよく見られる典型的な動作なんです。プログレスバーの最後の1%は嘘です。それはデータ転送の1%を表しているわけではありません。それは、すべての生のバイトが到着した*後*に実行される、一連のサーバーサイドの処理、つまりチェックサム検証、ファイル整合性チェック、フォーマット検証、キュー登録などをすべて含んだ「包括的な」ものです。サムネイル生成やメタデータ抽出が含まれることさえあります。これらすべての複雑なステップが、バーの最後の目盛りに押し込められているわけです。 ですから、アップロードが99%で止まっている場合、あなたのファイルはほぼ確実にサーバーに到達しています。あなたが見ているのはデータ転送ではなく、サーバーが「考えている」状態なのです。その受信後の処理のどこかで、停止したか、タイムアウトしたか、あるいはまだあなたに報告されていないエラーが発生したか、のいずれかです。この区別は非常に重要です。80%でのネットワーク切断に対する修正と、99%でのサーバーサイドの検証失敗に対する修正は、まったく異なるものです。 この記事では、最も一般的な原因、それがあなたに影響を与えているかどうかを見極める方法、そして具体的な解決策を説明します。解決策の中には30秒で済むものもあります。また、ブラウザにファイルをアップロードする前の準備方法を変える必要があるものもあります。

99%フリーズの最も一般的な原因

ボタンをクリックしまくって、うまくいくことを期待する前に、何が実際にうまくいっていないのかを突き止めましょう。99%停止の大部分は、次の5つの問題が原因です。 **ブラウザの接続タイムアウト。** HTTP接続は永遠に開いているようには設計されていません。サーバーのアップロード後処理がブラウザのキープアライブウィンドウ(Chromeでは通常60~120秒ですが、Firefoxでは network.http.keep-alive.timeout で設定可能)よりも長くかかると、ブラウザは諦めてサイレントに接続を切断します。ファイルはアップロードされますが、サーバーからの最終確認のハンドシェイクが届かず、プログレスバーが宙ぶらりんの状態になってしまいます。 **サーバー側のファイルサイズ制限に達している。** CocoConvertでは、無料アカウントではファイルあたり2GB、Proプランでは8GBの制限があります。もし無料プランで2.1GBのファイルをアップロードしようとすると、サーバーは最終検証ステップでサイズチェックを行う前にデータストリーム全体を受け入れてしまうことがあります。これにより、明確な即時エラーメッセージではなく、99%でフリーズするというイライラする経験をすることになります。 **破損した、または非標準のコンテナ。** 扱いにくいエクスポートと格闘したことがある人なら、この苦痛を知っているでしょう。壊れた moov atom を持つ.mp4ファイルや、不正なヘッダーを持つ.mkvファイルは、初期のファイルタイプチェックは通過するかもしれませんが、サーバーでの詳細な検査には失敗します。これは、古いバージョンのDaVinci Resolve(17.4以前)や一部のGoProファームウェアからのファイルでよく見られます。これらはメタデータがずれたファイルを作成することが知られていました。 **ISPレベルのパケットシェーピング。** あなたのインターネットサービスプロバイダ(ISP)が干渉している可能性があります。一部のプロバイダ、特に家庭用プランでは、大きなファイル転送をスロットリングしたり、検査したりすることがあります。これはアップロードを停止させるわけではありませんが、サーバーからの最終確認パケットを遅延させたり、ドロップさせたりすることがあります。もし自宅でのアップロードが常にフリーズするのに、スマートフォンのホットスポットやVPNでは問題なく動作する場合、ISPが犯人である可能性が高いです。 **タブがアイドル状態になった。** 最新のブラウザは、リソースの節約に積極的です。Chrome(バージョン108以降)とSafari(iOS 16以降)は、バックグラウンドタブを容赦なくスロットリングします。もし長いアップロード中にCocoConvertのタブから離れてしまった場合、ブラウザがセッションを管理しているJavaScriptプロセスを停止させ、最終ハンドシェイクの直前で接続を切断してしまった可能性があります。

3分以内にあなたの状況を診断する方法

ただ推測するだけではいけません。ブラウザのツールを使えば、3分で原因を絞り込むことができます。再度アップロードを試す前に、開発者ツール(ChromeとFirefoxではF12、MacではOption+Command+I)を開き、「Network」タブをクリックしてください。 リクエストを「XHR」または「Fetch」でフィルタリングします。さあ、アップロードが99%で停止したときにこのタブをよく見てください。リストの中からメインのアップロードリクエストを見つけます。もしそのステータスが90秒以上「pending」のままなら、サーバー処理の遅延か接続タイムアウトが原因です。問題はあなたのネットワークではありません。しかし、もし4xxまたは5xxのステータスコードが表示された場合、サーバーがあなたのファイルを積極的に拒否したことになります。そのリクエストの「Response」タブには、通常、その理由を説明するメッセージが含まれています。 これらのエラーコードが、あなたの最良の手がかりです。`413` エラーは、ファイルがサイズ制限を超えていることを意味します。`415` は、サポートされていないフォーマットであることを意味します。`504` は、サーバー自体が処理中にタイムアウトしたことを示します。各コードは異なる解決策を示しています。 ブラウザの外では、明らかなチェックを行いましょう。あなたのファイルは大きすぎませんか?CocoConvertアカウントで、「Account」→「Plan Details」に進み、アップロード制限を確認してください。次に、動画ファイルを右クリックし、その正確なサイズを「プロパティ」(Windows)または「情報を見る」(Mac)で確認します。もしファイルがプランの制限の5%以内に収まっているなら、それは大きな危険信号です。 最後に、決定的なテストを実行してください。VLCやHandBrakeからエクスポートした30秒の720p MP4のような、小さくて既知の正常なファイルをアップロードしてみてください。それが問題なくアップロードできれば、問題は元のファイルにあります。小さなファイルも停止する場合、問題は環境的なもの、つまりブラウザ、ネットワーク、またはアカウント設定にあります。

ネットワークおよびブラウザ関連の停止に対する解決策

診断結果が接続タイムアウトやブラウザのスロットリングを示している場合、これらの解決策で問題が解決するはずです。 **タブをアクティブに保つ。** 些細なことのように聞こえるかもしれませんが、500MBを超えるアップロードではこれが最も一般的な解決策です。アップロード中はCocoConvertのタブをフォアグラウンドに保つだけです。ウィンドウを最小化したり、別のタブに切り替えたりしないでください。どうしてもマルチタスクが必要な場合は、Chromeの「Tab Keep Alive」拡張機能が役立つかもしれませんが、単にページに留まっていることほど信頼できるものはありません。 **ブラウザを切り替える。** 私の率直なアドバイスです。Chromeで1GBを超えるファイルで99%停止に遭遇するなら、Firefoxを使いましょう。Firefoxはデフォルトの接続キープアライブタイムアウトが長く、長時間のサーバータスクに対して一般的に寛容です。単に「忍耐強い」のです。Edgeに切り替えるのは無駄です。EdgeはChromiumベースであり、この点ではChromeとまったく同じ動作をします。 **ブラウザ拡張機能を一時的に無効にする。** 広告ブロッカーやプライバシー拡張機能が、最終的な接続ハンドシェイクを妨害している可能性があります。最も簡単な確認方法は、シークレット/プライベートウィンドウ(通常、拡張機能が無効になる)を開いてアップロードを再試行することです。もしそれでうまくいけば、拡張機能が原因です。通常のウィンドウに戻り、一つずつ無効にして犯人を見つけてください。 **ネットワークパスをテストする。** ISPがスロットリングしていると思われる場合は、スマートフォンのモバイルホットスポットを使ってアップロードを試してみてください。もしそれが正常に完了すれば、自宅のインターネットが問題です。NordVPNやMullvadのようなVPNは、このパケットシェーピングを回避できることがありますが、保証された解決策ではなく、追加されるレイテンシが転送全体を遅くする可能性があります。 **DNSキャッシュをクリアし、ソケットをフラッシュする。** もしまだ行き詰まっていてChromeを使用しているなら、徹底的なクリーンアップの時です。`chrome://net-internals/#sockets` にアクセスして「Flush socket pools」をクリックし、次に `chrome://net-internals/#dns` にアクセスして「Clear host cache」をクリックしてください。これにより、ブラウザはアップロードがハングする原因となる古い接続データを強制的に解決します。

ファイル固有の問題に対する解決策

あなたの小さなテストファイルは完璧にアップロードされたのに、メインの動画が停止し続けている。これはファイル自体に問題があることを意味します。これを解決する方法は次のとおりです。 **再エンコードせずにリミックスする。** これが特効薬です。壊れた `moov atom`、不正なメタデータ、非標準のコンテナ構造など、多くのファイルの問題はリミックス(re-muxing)によって解決できます。このプロセスでは、FFmpegを使用してビデオまたはオーディオストリームに手を加えることなくファイルのコンテナを書き換え、品質を100%維持します。ファイルのコピーと同じくらい高速です。コマンドは簡単です。 `ffmpeg -i input.mp4 -c copy -movflags +faststart output.mp4` `-c copy` の部分は、FFmpegにストリームを直接コピーし、再エンコードしないように指示します。`-movflags +faststart` フラグは追加のボーナスで、ストリーミングパフォーマンス向上のために重要なメタデータをファイルの先頭に移動させます。MKVファイルの場合、コマンドはさらに簡単です。`ffmpeg -i input.mkv -c copy output.mkv` FFmpegを持っていない場合は、無料のGUIツールHandBrakeでも同じことができます。ファイルを開き、コーデック設定がソースと一致していることを確認してエクスポートするだけです。新しくリミックスされたファイルは、ほぼ間違いなく問題なくアップロードできるでしょう。 **圧縮してファイルサイズを削減する。** ファイルがプランのサイズ制限にぶつかっている場合、解決策はファイルを小さくすることです。HandBrakeのH.265エンコーダーをRF 28で使用すると、H.264と比較して視覚的な品質の劣化がほとんどなく、ファイルサイズを40~60%削減できることが多く、この目的に最適です。1.9GBのファイルであれば、これで簡単に1GB以下にすることができます。HandBrakeで、「Video」→「Video Codec」→「H.265 (x265)」に進み、品質をRF 28に設定して実行してください。 **ファイルの破損をチェックする。** 最終チェックとして、`ffprobe`(FFmpegの一部)にファイルを検査させてください。`ffprobe input.mp4`。もし「`moov atom not found`」や「`Invalid data found when processing input`」のようなエラーが出力された場合、ファイルは本当に破損しています。どのアップロードサービスもこれを修正することはできません。元の編集ソフトウェアに戻り、再エクスポートする必要があります。

CocoConvertが取り組んでいること(そして修正できないこと)

率直に言いますが、99%停止の中には、CocoConvertの現在のアーキテクチャの制限に起因する、本当に弊社の側にあるものもあります。 現在、弊社のシステムはシングルリクエストのHTTPアップロードを使用しています。Google DriveやDropboxのようなサービスで採用されている、より堅牢な方法は、チャンクマルチパートアップロードです。このアプローチでは、大きなファイルを5~10MBの小さな断片に分割し、それぞれを個別にアップロードして確認します。これは接続切断やサーバータイムアウトに対してはるかに回復力が高く、そのためこれらのプラットフォームでは99%停止がめったに発生しないのです。弊社のエンジニアリングチームは、チャンクアップロードシステムを積極的に構築しており、Proアカウント向けには2026年第3四半期の展開を目指しており、その後無料アカウントにも提供する予定です。 その新しいシステムがリリースされるまでは、低速または不安定な接続での1GBを超えるアップロードは、他のいくつかのサービスよりもCocoConvertでは脆弱です。それは率直な制限事項です。もしあなたが定期的に非常に大きなファイル(2GB以上)を扱い、これらの失敗に遭遇する場合、最も信頼できる回避策は、アップロード前にHandBrakeでファイルを圧縮することです。 ウェブサービスでは解決できない問題もあります。お客様のISPやローカルネットワークの問題を修復することはできません。パケットロスが多い場合(fast.comで確認するか、8.8.8.8へのpingテストを実行してください)、大きなファイルのアップロードは常に賭けになります。そして、もし500MBを超えるファイルをアップロードする場合は、有線イーサネット接続を使用してください。Wi-Fi、特に混雑した2.4GHz帯は、干渉を受けやすく、パケットロスを引き起こし、大きな転送を失敗させる原因となります。 最後に、ファイルが録画デバイスや編集ソフトウェアによって本当に破損している場合、弊社のサーバーが魔法のように修復することはできません。アップロードを開始する前に、ご自身のマシンでFFmpegを使ってリミックスのステップを実行する必要があります。

クイックリファレンス:99%停止チェックリスト

お急ぎですか?記事全体を読み直すことなくアップロード停止を解決するための、要約されたチェックリストをここに示します。 **まず、基本を確認してください。** - ファイルサイズがプランの制限内であることを確認する(CocoConvertの「Account」→「Plan Details」) - アップロード中はブラウザのタブをアクティブにし、フォアグラウンドに保つ - 拡張機能の干渉を除外するために、シークレットウィンドウでアップロードを試す **問題が解決しない場合。** - 開発者ツール(DevTools)→「Network」タブを開き、アップロードリクエストのステータスコードを確認する - 413 = ファイルが大きすぎます。HandBrakeで圧縮して再試行してください。 - 415 = サポートされていないフォーマットです。CocoConvertのサポートされているフォーマットリストを確認してください。 - 504 = 処理中にサーバーがタイムアウトしました。FFmpegでリミックスして再試行してください。 - Pendingで応答なし = 接続タイムアウトです。Firefoxに切り替えるか、モバイルホットスポットを試してください。 **大きなファイル(1GB以上)の場合。** - アップロード前にFFmpegを使って `-c copy -movflags +faststart` でリミックスする - まだ失敗する場合は、HandBrakeでH.265 RF 28に圧縮してファイルサイズを削減する - Wi-Fiではなく有線イーサネット接続を使用する **何も解決しない場合。** - ファイルで `ffprobe` を実行し、破損がないかチェックする - 正確なファイルサイズ、フォーマット、および開発者ツールからのエラーコードを添えてCocoConvertサポートに連絡する — その情報は診断時間を大幅に短縮します - 後から修正するのではなく、ファイルが編集ソフトウェアから再エクスポートする必要があるかどうかを検討する 良いニュースは、99%停止はほとんどの場合、解決可能だということです。FFmpegのリミックスステップだけで、この問題をサポートチームに報告するユーザーの約60%の問題が解決します。これは、ファイルの内部構造をクリーンアップするためです。そして、まさにそれがアップロードプロセスの最後にサーバーがチェックし、拒否しているものなのです。

動画のアップロードが99%で止まる?原因と解決策 | CocoConvert Blog