問題タブ [mp4box]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ffmpeg - FFMPEG+MP4Box+Dash.jsを使ったライブストリーミングの動作例
私はこの問題に数日間立ち往生しており、完全に機能する例を見つけることができませんでした。
これが私の現在の方法です:
ステップ1。
ステップ2。
ステップ 3。
Dash.js を使用して生成された live.mpd を再生しましたが、プレーヤーは実際に再生する前に長い間一時停止し、新しい m4s ファイルを取得するたびにフリーズしました。
私のコマンドに何か問題がありますか?または、他の良い例を提供できれば素晴らしいでしょう。
file - SRT ファイルの特定の行を削除する
私は現在、ライブラリ全体を通過し、字幕が含まれているすべての mp4 ファイルを見つけて、ビデオ ファイルと同じ名前の SRT ファイルにストリップする PS スクリプトに取り組んでいます。
コマンドラインレベルですべてを行っていますが、特定のファイルセットに問題があります。MP4 ファイルから SRT ファイルを削除するたびに、余分な行が追加され、ビデオ プレーヤーの字幕が台無しになります。
すべて(MP4Box、FFMpegなど)を試しましたが、余分な行が表示され続けます。
そして、これが皆さんの出番です。特定の行を削除する方法を理解するのを手伝ってくれる必要があります。私が何を意味するかをお見せしましょう:
元のファイル:
[削除] 編集: さらに下を見て、コードを貼り付けました
必要な出力:
[削除] 編集: さらに下を見て、コードを貼り付けました
改行が少ないことに注目してください。
BATスクリプト、powershellなどを使用してそれをどのように達成するかについてのアイデアはありますか?
そして、新しい行が数字で始まらない場合、改行があってはならないという解決策はあり得ません。SRT ファイルのテキスト (実際の字幕テキスト) は数字で始まる場合があるためです。
事前に感謝します-私が得ることができる助けに感謝します. そして、時々文法の間違いをお詫びします。第二言語。
--
編集 スクリーンショットの代わりにテキストを貼り付けるように求められました:
オリジナル
必要な出力
--
2回目の編集
私はこれが無料のスクリプト サービスではないことを知っています。私は以前のプロファイルでここに知識を提供しました。
コードの「関連部分」を表示するように言われました。これを行う方法がわかりません-字幕を抽出する方法をお見せできます。私は次の2つを試しました:
$subtitle-value は、SRT で終わる入力ファイル名です。
$subid は、MediaInfoCLI のツールを使用して検出されます
$ffmpegsubid は、$subid から 1 を引いたものと同じです。これは、MP4Box と FFMpeg ではストリームのカウントが異なるためです。
サブテストは、目的の言語に応じてサブ ID になります。200 行以上の "elseif" で、すべての異なる組み合わせに確実にヒットするようにします。( en / sp / po や en / po /sp など)
しかし、これはどれも質問とは何の関係もありません。出力ファイルから不要な行を削除するにはどうすればよいですか? 次の行が数字で始まらない場合、スクリプトで行を削除するようにしましたが、今は役に立たないので、投稿する理由はありません。
とにかく - 前もって感謝します - 感謝します:)
--
3回目の編集
削除する前に、誰かが次のソリューションを投稿しました。
ただし、次のエラーが生成されます。
ffmpeg - MPEG DASH セグメントから HLS マニフェストを作成する方法は?
Apple が断片化された MP4 のサポートを発表して以来、同じセグメントのセット (個別のオーディオとビデオ) に対して DASH マニフェスト (.mpd) と HLS マニフェスト (.m3u8) の両方を作成することは可能ですか? どうやってするの?