iPhone OS 3 では、Apple はHTTP ライブ ストリーミングを導入しました。これにより、インターネットからのビデオのライブ ストリーミングが可能になります。私は現在、サーバーにフィードするウェブカメラを操作しており、ffmpeg によって flv ストリームに変換され、ffserver を使用してストリーミングされます。iPhoneがffmpegとffserverを使用して使用できるビデオストリームをセットアップする方法を知っている人はいますか? その場でほぼすべての形式に再エンコードできるはずです。
4 に答える
バージョン >= e109a29d6ddb02b2dd58c6c385ebec27f2d23b58 (git) または 18793 (svn) で ffmpeg のコピーをビルドする必要があります。ビルド時に --enable-libx264 フラグも指定してください。起動して実行すると、おおよそ次のことができます。
ffmpeg -i <input video> -acodec libmp3lame -ac 1 -vcodec libx264 -s 320x240 \
-level 30 -f mpegts - | \
segmenter - 10 test test.m3u8 http://example.com/path/to/your/files/
つまり、入力ファイルまたはストリームを ffmpeg に取り込み、MP3 オーディオを含む H.264 ビデオを Apple のセグメンターにパイプします。セグメンターは、セグメント化されたビデオ ファイルと、セグメント化されたファイルを指す M3U プレイリストを吐き出します。セグメント化されたファイルとプレイリストは、Apache などの Web サーバーを介して提供します。
明らかに、目的の結果を得るために、ffmpeg とセグメンターのオプションを大幅に調整する必要があります。
興味のある方は、オープン ソースのセグメンターと、ffmpeg を使用してこれを実行できるスクリプトをバンドルしました。iphoneプロジェクトでの私のセグメント化されたストリーミングを参照してください。入力ストリームのマルチビットレート セグメントを実行でき、scp、ftp、さらには aws s3 を介してストリーム セグメントを構成可能な宛先に転送します。
これはかなり古いトピックですが、FFmpeg の一見新しい機能である HLS サポートは、誰かにとって役立つかもしれません。
使用例は次のようになります。
ffmpeg -i <input_file> -c:v libx264 -preset slow -map 0 -an -flags -global_header -f hls -hls_time <segment_length> <m3u8_file>
ライブ ストリーミングを行いたい場合、これは別の例になります。
ffmpeg -i <input_stream> -c:v libx264 -preset ultrafast -map 0 -an -flags -global_header -f hls -hls_time <segment_length> -hls_list_size <playlist_entries> -hls_wrap <wrap> <m3u8_file>
-hls_list_size
引数はプレイリスト内のファイル数を制限し、引数-hls-wrap
はファイルの合計数を制限し、そのポイントに到達するとファイル名をラップします (例: test0.ts、test1.ts... test7.ts、test0.ts) 、test1.ts...ラップが8の場合)。
詳細については、ドキュメントを参照してください。上記の例では、フラグを使用してオーディオを削除していることに注意してください-an
。個人的には必要なかったからです。
QuickTime を使用してムービーを「iPhone」形式に変換することの何が問題になっていますか? ファイル > エクスポート > iPhone フォーマットを実行するだけです... 何か足りないものはありますか?
iPhone 形式に変換した後、mediafilesegmenter ( Apple Developer Connection の Http Live Streaming Tools にあります)で切り刻みます。
mediafilesegmenter -t 10 -f folderName/ nameOfInputFile.m4v
(注: folderName/ フォルダーが存在する必要があります)
次に、iPhone を Web サイトに向けます。
<video src='folderName/prog_index.m3u8' height=45 width=70
controls='on'>Your browser does not support the video tag</video>