問題タブ [x264]
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.
linux - Linux で x264 をコンパイル中にエラーが発生しました
Linux(x64)でx264をコンパイルしようとしています。しかし、それは私にエラーを投げ続けます。私は周りをグーグルで検索しましたが、何も見つかりませんでした。コマンドラインの履歴は次のとおりです。
これがファイルの 83 行目から 91 行目です。
ffmpeg - ffmpeg 変換でオーディオがスキップされる
ffmpeg を使用してビデオを mp4 形式に変換すると、オーディオがスキップされ、オーディオがビデオと同期しなくなります。
次のビデオを見ることができます: https://vialogues.com/vialogues/play/486
変換に次のオプションを使用しています
また、ffmpegバージョンは
なぜこれが起こるのかについてのアイデアはありますか?
h.264 - 自分のモーション データを手動で x264 にフィードしますか?
x264 を使用して (個々の画像をフィードすることにより) ストリームをエンコードしようとしていますが、珍しいのは、フレームのモーション情報が既にあることです。各フレームでどの領域が変更されたかを正確に把握しており、フレーム内のどこでモーションが発生したかを把握しています。
自分のモーション情報を x264 にフィードする方法はありますか? フレーム内の特定の領域に動きベクトルを与え、フレーム内の特定の領域には動きがないことが保証されていることを何らかの形で伝えたいと思います。
これにより、エンコードのパフォーマンスが大幅に向上する可能性があると思います (コーデックがモーション推定フェーズを完全にスキップできるようにするため)。また、エンコーダーのモーション推定アルゴリズムが実際に発生したモーションを見逃した可能性がある場合に、品質がいくらか向上するはずです。 .
これを行うにはエンコーダーを変更する必要がありますか? それとも既存の API でサポートされていますか?
linux - X264のインストール方法
プログラムを作ろうとしています。./configureを実行すると、次のようになります。
x264とgtkに関連するさまざまなパッケージをインストールしましたが、まだこのメッセージが表示されます。どのパッケージをインストールする必要がありますか?
iphone - iOS での libx264 のパフォーマンス
誰かがiPhoneでlibx264を使用した経験があるかどうか疑問に思っていました.
それはどのように機能しますか?どのフレームレートを期待できますか? 同時エンコードとデコード (ビデオ通話) で動作しますか、それとも CPU が処理できませんか? 主にiPhone 4以降(iPhone4/iPad 2)に興味があります
使用できるコンパイル済みのユニバーサル バイナリはありますか?
c - 単一のファイル記述子から複数のMMAPを割り当てるにはどうすればよいですか?
したがって、最終年度のプロジェクトでは、Video4Linux2を使用してカメラからYUV420画像をプルし、それらをx264(これらの画像をネイティブに使用)に解析してから、エンコードされたストリームをLive555経由でRTP/RTCP準拠のビデオプレーヤーに送信します。ワイヤレスネットワークを介したクライアント。これらすべてをリアルタイムで実行しようとしているので、制御アルゴリズムがありますが、それはこの質問の範囲ではありません。Live555を除くこれらすべてはCで書かれています。現在、私はビデオのエンコードが終わりに近づいていますが、パフォーマンスを向上させたいと考えています。
控えめに言っても、私は問題にぶつかりました... V4L2のユーザースペースポインターを避け、mmap()を使用しようとしています。私はビデオをエンコードしていますが、YUV420なので、x264が読み取るためにY'、U、V平面を3つの異なる変数に保持するために新しいメモリをmallocしています。これらの変数をmmapされたメモリへのポインタとして保持したいと思います。
ただし、V4L2デバイスにはバッファリングされたストリーム用の単一のファイル記述子があり、ストリームをYUV420標準に準拠した3つのmmap変数に分割する必要があります...
ここで、「幅」と「高さ」はビデオの解像度です(例:640x480)。
私が理解していることから...MMAPは次のようなファイルを検索します(疑似コード):
私のコードはここのLaunchpadリポジトリにあります(詳細については):http: //bazaar.launchpad.net/~alex-stevens/+junk/spyPanda/files(リビジョン11)
そして、YUV420フォーマットはこのWikiの図からはっきりと見ることができます:http://en.wikipedia.org/wiki/File :Yuv420.svg (私は基本的にY、U、Vバイトを各mmapに分割したいメモリー)
1つのファイル記述子から3つの変数をメモリにmmapする方法を説明したい人はいますか、それともなぜ私が失敗したのですか?または、YUV420バッファをx264に解析するためのより良いアイデアを示唆することさえできますか?:P
乾杯!^^
ffmpeg - ビデオをFFmpegでX264にエンコードし、Quicktimeで再生できるようにする
ffmpegを使用してx264(mp4形式)にエンコードされたビデオをQuicktimeでデフォルトで再生できるようにするには、どのコマンドライン設定を明示的に設定(または回避)する必要があるのでしょうか。事前定義されたプリセットファイルの多くは機能しますが、一部は機能しません。たとえば、ロスレスファイルを機能させることができず、それらにも興味があります。たとえば、libx264-lossless_max.ffpresetは私のビデオをエンコードしますが、QuicktimeではなくVLCでのみ再生できます。Quicktimeでは、ビデオは黒のままです。Perianがオプションであることは知っていますが、Perianをインストールせずにファイルを再生できるようにしたいと思います。ご協力いただきありがとうございます。
h.264 - h264 ロスレス コーディング
h264 で完全にロスレス エンコーディングを行うことは可能ですか? ロスレスとは、一連のフレームをフィードしてエンコードし、エンコードされたビデオからすべてのフレームを抽出すると、入力とまったく同じフレームがピクセルごと、フレームごとに取得されることを意味します. それは実際に可能ですか?次の例を見てください。
一連のフレームを生成し、イメージ シーケンスを非圧縮 AVI にエンコードし (virtualdub などを使用)、ロスレス h264 を適用します (ヘルプ ファイルでは、設定 --qp 0 を設定するとロスレス圧縮が行われると記載されていますが、つまり、プロセスのどの時点でも損失がないか、量子化だけが無損失であることを意味します)。その後、mplayer などを使用して、結果の h264 ビデオからフレームを抽出できます。
最初に Handbrake で試してみましたが、ロスレス エンコーディングをサポートしていないことがわかりました。x264 を試しましたが、クラッシュします。ソース AVI ファイルが YV12 ではなく RGB 色空間にあることが原因である可能性があります。一連の YV12 ビットマップをフィードする方法と、とにかく x264 にどのような形式でフィードするかがわからないため、試すことさえできません。
要約すると、それがそこからの道があるかどうか知りたいこと
一連のロスレス ビットマップ (任意の色空間) -> 何らかの変換 -> h264 エンコード -> h264 デコード -> 何らかの変換 -> 元の一連のロスレス ビットマップ
これを達成する方法があれば?
編集:ロスレスH264があまり意味をなさないことについて、非常に有効な点があります。圧縮されていないクリップと、H264 で高レートで圧縮された別のクリップの違いを (私の目だけで) 見分ける方法がないことは十分承知していますが、用途がないわけではないと思います。たとえば、ファイルを保存するたびに大量のスペースを使用したり、品質を低下させたり、エンコードに多くの時間を費やしたりすることなく、編集用のビデオを保存するのに役立つ場合があります。
更新 2:x264 がクラッシュしなくなりました。avisynth またはロスレス yv12 ラガリスのいずれかをソースとして使用できます (色空間圧縮の警告を回避するため)。ただし、 --qp 0 と rgb または yv12 ソースを使用しても、最小限ではあるが存在するいくつかの違いがあります。ロスレス予測コーディング (--qp 0) で見つけたすべての情報は、エンコーディング全体がロスレスであるべきだと主張しているため、これは厄介です。しかし、私はこれを検証できません。
php - ubuntuでffmpegとx264ツールを使用してビデオをh.264 mp4ファイルにエンコードするphp execコマンド
ffmpeg と x264 ツールがインストールされた専用サーバーがあります。あらゆるビデオをエンコードでき、非常にうまく機能します。しかし今、iPad や iPhone で再生するためにビデオをエンコードする必要があります...形式は mp4 で、h.264 コーデックを使用する必要があります。
私は PHP を使用してビデオをエンコードしています。上記のエンコードを行うための exec コマンドを探しています。私が他のビデオに使用しているものは次のとおりです。
ちなみに、mp4 をエンコードするのに似たものが必要なだけですが、libx264 は使用できません。x264 ツールしか使えない
乾杯
iphone - ffmpeg および x264 経由で iphone/iPod の mp4 に flv 再エンコード (品質の問題)
このトピックには多くの質問があり、私はそれらのほとんどと、思いつく限りの Google 検索結果のほとんどを読みました。
FFMPEG を使用して FLV を iphone3 互換の MP4 ファイルに変換すると、十分な品質が維持されません。はい、いろいろ-sameq
と設定-b
をいじりました-bt
が、テキストが読めません。
次に、次の手順を使用して、ビデオを分割して直接処理しようとしました: https://sites.google.com/site/linuxencoding/x264-encoding-guide
問題は、(メタデータが設定されていても) myplayer (ffmpeg 経由) が FLV の長さを判断できなかったことです。
(私は推測します)その不明な期間のため、MP4 ファイルを作成すると、結果の x264 ファイルは超高速で再生され、オーディオは通常のレートで再生されます。
FPSも指定してみましたが、結果に変化なし
誰かが次のいずれかの方法を教えてもらえますか:
- 分割 A/V 処理/タイミング/期間の問題を修正しますか?
- FLV から iphone3 互換フォーマットへの FFMPEG 変換の品質を向上させますか?