問題タブ [mpeg-4]

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.

0 投票する
1 に答える
2511 参照

ffmpeg - MPEG4 ストリームからのモーション ベクトルと DC 係数

MPEG4 ビデオからモーション ベクトルと DC 係数に関する情報を抽出する必要があります。関連するサイトやトピックを検索したところ、ffmpeg コーデックのコードを使用することが適切な解決策であることがわかりました。特に libavcodec/mpegvideo.c の ff_print_debug_info 関数は関連情報を計算します。

ただし、私は C/C++ 分野では初めてであり、MV と DC 係数を抽出する方法を説明または説明するサンプル コードがあれば、非常に役立ちます。

私が使用している最新バージョン ( http://ffmpeg.org/download.htmlの FFmpeg 0.10.2 ) には、別のファイル mpeg4videodec.c があります。このコードで必要な情報を取得する機会はありますか?

0 投票する
1 に答える
414 参照

video - MPEG-4 デコーダーと MPEG 2 デコーダーと 3GP デコーダー、どちらが高速で、その理由は?

ARM &/ DSP を搭載した Android プラットフォームでは、MPEG-4、MPEG-2、または 3GP のどのデコーダーが高速でしょうか? なぜ?

ありがとう

0 投票する
1 に答える
825 参照

directshow - gdclマルチプレクサーは、h264ではない生のビデオでファイルを作成します

以下のように1つのグラフを作成しました(入力ライブストリームにospreyカードを使用しています)

(グラフ編集ツール)

Osprey アナログ ビデオ ----> GDCL MPEG-4 マルチプレクサ ----> File Writer (.mp4 ファイル)

ファイルサイズが非常に大きい。5 秒のファイルでも 80 MB のサイズがあります。ファイルが再生されません。

ffmpeg -i を使用して ffmpeg でファイルの詳細を見ると、

ストリーム0、必須アトムの欠落、ヘッダーの破損などのエラーが発生します

以下はffmpegの応答です。

ffmpeg.exe -i "C:\Documents and Settings\Administrator\Desktop\mp4file\mp4file.mp4" ffmpeg version N-38938-ge01f478 Copyright (c) 2000-2012 the FFmpeg developers built on Mar 19 2012 23:18: 25 gcc 4.6.2 構成: --disable-static --enable-shared --enable-gpl --enable-version3 --disable-w32threads --enable-runtime-cpudetect --enable-avisynth --enable-bzli b --enable-frei0r --enable-libopencore-amrnb --enable-libopencore-amrwb --enable -libfreetype --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-l ibrtmp --enable- libschroedinger --enable-libspeex --enable-libtheora --enable-li bvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-l ibx264 --enable-libxavs --enable -libxvid --enable-zlib libavutil 51. 42.100 / 51. 42.100 libavcodec 54. 12.100 / 54.12.100 Libavformat 54. 2.100 / 54. 2.100 Libavdevice 53. 4.100 / 53. 4.100 Libavfilter 2. 65.101 / 2。65.101 Libswsale 2. 1.100 / 2。1.100 Libswresample 0. 7.100 / 0. 7.100 libpostproc 52. 0.100 / 52. 0.100 [0.100 [0.100] mov,mp4,m4a,3gp,3g2,mj2 @ 003E28E0] ストリーム 0、必須のアトムがありません。 \Desktop\mp4file\mp4file.mp4': メタデータ: major_brand: mp42 minor_version: 0 compatible_brands: mp42isom Duration: 00:00:00.00, bitrate: -2147483 kb/s Stream #0:0(eng): Video: rawvideo (YUY2 / 0x32595559)、yuyv422、640x480、90k tbr、90k tbn、90k tbc メタデータ: handler_name : 少なくとも 1 つの出力ファイルを指定する必要があります2.100 / 54.2.100 libavdevice 53.4.100 / 53.4.100 libavfilter 2.65.101 / 2.65.101 libswscale 2.1.100 / 2.1.100 libswresample 0.7.100 / 0.7.100 libpostproc 52.4,0.100 m4a,3gp,3g2,mj2 @ 003E28E0] ストリーム 0、必須アトムの欠落、ヘッダーの破損 入力 #0、mov、mp4、m4a,3gp、3g2、mj2、'C:\Documents and Settings\Administrator\Desktop\mp4file から\mp4file.mp4': メタデータ: major_brand: mp42 minor_version: 0 compatible_brands: mp42isom Duration: 00:00:00.00, bitrate: -2147483 kb/s Stream #0:0(eng): Video: rawvideo (YUY2 / 0x32595559), yuyv422、640x480、90k tbr、90k tbn、90k tbc メタデータ: handler_name : 少なくとも 1 つの出力ファイルを指定する必要があります2.100 / 54.2.100 libavdevice 53.4.100 / 53.4.100 libavfilter 2.65.101 / 2.65.101 libswscale 2.1.100 / 2.1.100 libswresample 0.7.100 / 0.7.100 libpostproc 52.4,0.100 m4a,3gp,3g2,mj2 @ 003E28E0] ストリーム 0、必須アトムの欠落、ヘッダーの破損 入力 #0、mov、mp4、m4a,3gp、3g2、mj2、'C:\Documents and Settings\Administrator\Desktop\mp4file から\mp4file.mp4': メタデータ: major_brand: mp42 minor_version: 0 compatible_brands: mp42isom Duration: 00:00:00.00, bitrate: -2147483 kb/s Stream #0:0(eng): Video: rawvideo (YUY2 / 0x32595559), yuyv422、640x480、90k tbr、90k tbn、90k tbc メタデータ: handler_name : 少なくとも 1 つの出力ファイルを指定する必要があります100 libavfilter 2. 65.101 / 2. 65.101 libswscale 2. 1.100 / 2. 1.100 libswresample 0. 7.100 / 0. 7.100 libpostproc 52. 0.100 / 52. 0.100 [mov,mp4,m4a,3gp,3g2,mj2 @ 003E ストリーム] 2 、必須のアトムがありません。ヘッダーが壊れています。入力 #0、mov、mp4、m4a、3gp、3g2、mj2、「C:\Documents and Settings\Administrator\Desktop\mp4file\mp4file.mp4」から: メタデータ: major_brand: mp42 minor_version : 0 compatible_brands: mp42isom Duration: 00:00:00.00, bitrate: -2147483 kb/s Stream #0:0(eng): ビデオ: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 90k tbr, 90k tbn, 90k tbcメタデータ: handler_name : 少なくとも 1 つの出力ファイルを指定する必要があります100 libavfilter 2. 65.101 / 2. 65.101 libswscale 2. 1.100 / 2. 1.100 libswresample 0. 7.100 / 0. 7.100 libpostproc 52. 0.100 / 52. 0.100 [mov,mp4,m4a,3gp,3g2,mj2 @ 003E ストリーム] 2 、必須のアトムがありません。ヘッダーが壊れています。入力 #0、mov、mp4、m4a、3gp、3g2、mj2、「C:\Documents and Settings\Administrator\Desktop\mp4file\mp4file.mp4」から: メタデータ: major_brand: mp42 minor_version : 0 compatible_brands: mp42isom Duration: 00:00:00.00, bitrate: -2147483 kb/s Stream #0:0(eng): ビデオ: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 90k tbr, 90k tbn, 90k tbcメタデータ: handler_name : 少なくとも 1 つの出力ファイルを指定する必要があります7.100 libpostproc 52. 0.100 / 52. 0.100 [mov,mp4,m4a,3gp,3g2,mj2 @ 003E28E0] ストリーム 0、必須アトムの欠落、壊れたヘッダー入力 #0、mov、mp4、m4a、3gp、3g2、mj2、 'C:\Documents and Settings\Administrator\Desktop\mp4file\mp4file.mp4' から: メタデータ: major_brand : mp42 minor_version : 0 compatible_brands: mp42isom Duration: 00:00:00.00, bitrate: -2147483 kb/s Stream #0: 0(eng): ビデオ: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 90k tbr, 90k tbn, 90k tbc メタデータ: handler_name : 少なくとも 1 つの出力ファイルを指定する必要があります7.100 libpostproc 52. 0.100 / 52. 0.100 [mov,mp4,m4a,3gp,3g2,mj2 @ 003E28E0] ストリーム 0、必須アトムの欠落、壊れたヘッダー入力 #0、mov、mp4、m4a、3gp、3g2、mj2、 'C:\Documents and Settings\Administrator\Desktop\mp4file\mp4file.mp4' から: メタデータ: major_brand : mp42 minor_version : 0 compatible_brands: mp42isom Duration: 00:00:00.00, bitrate: -2147483 kb/s Stream #0: 0(eng): ビデオ: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 90k tbr, 90k tbn, 90k tbc メタデータ: handler_name : 少なくとも 1 つの出力ファイルを指定する必要があります\Documents and Settings\Administrator \Desktop\mp4file\mp4file.mp4': メタデータ: major_brand : mp42 minor_version : 0 compatible_brands: mp42isom Duration: 00:00:00.00, bitrate: -2147483 kb/s Stream #0:0(eng) : ビデオ: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 90k tbr, 90k tbn, 90k tbc メタデータ: handler_name: 少なくとも 1 つの出力ファイルを指定する必要があります\Documents and Settings\Administrator \Desktop\mp4file\mp4file.mp4': メタデータ: major_brand : mp42 minor_version : 0 compatible_brands: mp42isom Duration: 00:00:00.00, bitrate: -2147483 kb/s Stream #0:0(eng) : ビデオ: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 90k tbr, 90k tbn, 90k tbc メタデータ: handler_name: 少なくとも 1 つの出力ファイルを指定する必要があります

gdcl フィルター設定を行う必要がありますか? 問題を解決するのを手伝ってください。

0 投票する
0 に答える
582 参照

internet-explorer - IE 6 で MPEG-4 HTTP ストリームを再生するには?

http://pool.amursu.ru/video.mpgに MPEG-4 ビデオ ストリームがあり、Chrome または Firefox を使用して視聴できますが、Internet Explorer 6 では再生されず、永遠に読み込もうとします (考えてみてください、ファイルの終わりを待ちますが、おそらくこれは決して起こりません)。

Flowplayer と JWplayer を使用しようとしましたが、成功しませんでした:

http://pool.amursu.ru/で入手できます。

ビデオストリームは D-Link DCS-2130 ウェブカメラによって行われ、nginx によってプロキシされます。

IEで動作させるためのアイデアはありますか?

PS> ビデオ ストリームに video/mpeg MIME タイプを設定できますが、Chrome での再生が中断され、IE では役に立ちません。

更新日:

今のところ、私は不当な解決策を実行しました.カメラのWebインターフェースでURLを見つけ、そこから単一のビデオフレームを取得し、Nginxでプロキシし、javascriptで毎秒更新しました. 完全に不公平ですが、どこでも機能します。http://pool.amursu.ru/

0 投票する
1 に答える
1319 参照

ffmpeg - ffmpeg h.264無効なカット

数百のビデオ ファイルを含む s3 バケットがあります。
これらのファイルは、ffmpeg を使用して大きなビデオ ファイルの一部を切り取って作成されました。
別のバケットから元のビデオ ファイルをダウンロードし、ffmpeg を実行してファイルをカットし、新しいファイルをそのバケットにアップロードするスクリプトを作成しました。s3 との間でダウンロードおよびアップロードするために、この php ライブラリを使用しました。
私が使用したffmpeg構文:

a / vコーデックを変更せずに、指定された時間の間で元のファイルをカットするだけです。
元のビデオ ファイルはすべて h.264 でエンコードされます。これは、新しいファイル (CDN を介してクライアントのフラッシュ プレーヤーにストリーミングされる) にも必要なエンコードです。

私の問題は、新しいファイルのごく一部だけが h.264 でエンコードされて出力されることですが、それらのほとんどはそうではありません (h.264 は必須です。そうしないと、ファイルはクライアント側で再生されません)。
同じパラメーターと同じファイルで同じffmpegコマンドを手動で使用すると、出力ファイルが正常に出力されるため、問題を元のビデオまで追跡することはできません。任意のようです。

ファイルのコーデックに関する情報を取得するには、ffprobe を使用します。
例:
大きな (元の) ビデオ ファイルのいずれかの ffprobe:

...
ストリーム #0.0(und): ビデオ: h264、yuv420p、640x352、499 kb/s、25 fps、25 tbr、90k tbn、50 tbc
...

対応する新しいカット ファイルの ffprobe:

...
ストリーム #0.0(und): ビデオ: mpeg4、yuv420p、640x352 [PAR 1:1 DAR 20:11]、227 kb/s、25 fps、25 tbr、25 tbn、25 tbc
...

ご覧のとおり、違いは「mpeg4」と「h264」にあります。

新しいファイルが間違ったエンコーディングで出力される原因についての洞察をいただければ幸いです。

ありがとう!

編集: 問題は解決
しまし た すべてのファイルを分析した後、それらの約 3 分の 2 が間違ったコーデックで出力されていることに気付きました。
切断プロセスに3台のマシン(3台の別々のEC2サーバー)を使用したため、そのうちの2台でffmpegのインストールが不適切であることがわかりました(@LordNeckbeardが彼の回答で示唆したように)。
無効なファイルに対してのみ、3 台目のマシンだけでプロセスを再度実行したところ、目的の結果が得られました。

0 投票する
2 に答える
251779 参照

video - H.264 ビデオと MPEG-4 ビデオの違いは何ですか?

これらはどちらも同じですか?H.264コーデックはMPEG-4ですか?flv を高解像度 H.264 ビデオ形式に変換する必要がある場合はどうすればよいですか? オンライン TV ストリーミングを作成し、PHP または Python を使用したいと考えています。

0 投票する
1 に答える
8048 参照

video - MPEG-4 とアルファ透明度 - 進行中の物語

次の質問に対するある種の決定的な答えに到達したいと思います。

  1. アルファ透明度は MPEG-4 ベースのコーデックでサポートされていますか?
  2. の出力にアルファチャンネルがないことを合理的に確認する方法はありますffprobeか?

この件に関して私が見つけたいくつかのリンク:

また、H.264 仕様のオプション部分である透過アルファ レイヤーが、H.264 ベースの QuickTime ムービーでサポートされるようになりました。

H.264 デコーダーでのアルファ チャネルのサポートは、インテル® インテグレーテッド パフォーマンス プリミティブ 6.0 バージョンで利用できるようになりました。

MPEG4 Simple Studio プロファイルは、アルファまたは深度に使用できる補助チャネルをサポートし、おそらくディスプレイスメント、モーション ベクトル、法線などにも使用できます。

ただし、具体的な例や、これらの発表された機能をどのように使用するかについての詳細は見たことがありません.

0 投票する
1 に答える
139 参照

video - 未知のmpeg4のリバースエンジニアリング

一般的なプログラミング関連の質問があります。不明なmpeg4形式のビデオがあり、既知のmpeg4形式にデコードするACプログラムを作成したいと思います。入力mpeg4形式については何も知りません。私がどこから始めるべきかについて何か考えはありますか?

よろしく、Farrukh Arshad

0 投票する
2 に答える
5914 参照

android - Android - 2 つの MP4 ファイルを結合する

私はいくつかのオーディオ ファイルを録音している Android プロジェクトを書いています。したがって、次のパラメーターを設定しています。録音は問題なく動作します。

私の問題は、記録するたびに、出力が別のファイルに書き込まれることです。ここで、これらのファイルを 1 つのファイルに結合する必要があります。Android プロジェクトで複数の MPEG 4 ファイルを組み合わせる方法を知っている人はいますか?

ご協力いただきありがとうございます....

0 投票する
0 に答える
604 参照

c# - C# メトロ アプリケーションを使用して mp4 ファイルから特定のフレームを抽出する方法

Windows 8 アプリケーションのメトロ スタイルで mpg4 ファイルから特定のフレーム (例: フレーム 1、2、13) を抽出する方法が見つかりませんでした。フレームを抽出し、C++ を使用してファイルに直接保存する方法を見つけました。BitmapImage オブジェクトのフレームを抽出して Image に表示するには、C# のみを使用する必要があります。誰でも私を助けてくれますか?