• 締切済み

バッチで外部プログラムの出力を変数に格納

tsmuxer で複数の mp4 (コンテナ)ファイルを m2ts に変換(remux)する作業を、バッチで行おうとしています。 mp4 に格納されている情報(解像度、fps など)を tsmuxer で出力し、その情報を元に tsmuxer 用の meta ファイルを出力することを考えています。 tsmuxer での出力は以下のようになるのですが、 ------------------------------------------------------------ >tsmuxer hoge.mp4 SmartLabs tsMuxeR. Version 1.10.6 http://www.smlabs.net Track ID: 1 Stream type: H.264 Stream ID: V_MPEG4/ISO/AVC Stream info: Profile: High@3.0 Resolution: 720:480p Frame rate: 29.97 Stream lang: eng Track ID: 2 Stream type: AAC Stream ID: A_AAC Stream info: Sample Rate: 48KHz Channels: 2 Stream lang: jpn ------------------------------------------------------------ この情報から、Resolution、Frame rate などを取り出し、変数に格納するにはどうしたらよいでしょうか?

みんなの回答

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

「変数に格納」したあとどうするのかにもよるんだけど, バッチだけでなんとかしようとするのではなく, もっと簡単にできそうなツール (スクリプト言語) の導入を考えた方がいいのかもしれない.

gr883e5b
質問者

お礼

やはりその線が無難ですかね。 tsmuxer にかぎらず、一般的な手法としてにどうやって変数に格納するかを知りたかったのもありまして。 いまんとこ、tsmuxer の出力を sed にパイプして正規表現で泥臭く meta ファイル出力してます。

関連するQ&A

  • tsMuxeR_1.10.6でtsファイルを結合

    tsMuxeR_1.10.6で2つのtsファイルを結合したときに「B-pyramid level 1 detected. Shift DTS to 2 frames」 というメッセージがありました。 これは何を意味するのでしょうか。 ちなみに tsMuxeR outputのメッセージすべてを記載します。 これは正常なのでしょうか。 SmartLabs tsMuxeR. Version 1.10.6 http://www.smlabs.net Decoding H264 stream (track 1): Profile: High@4.0 Resolution: 1920:1080i Frame rate: 29.97 H.264 stream does not contain fps field. Muxing fps=29.97 Decoding MPEG-Audio stream (track 2): Bitrate: 384Kbps Sample Rate: 48KHz Channels: 2 Layer: 2 B-pyramid level 1 detected. Shift DTS to 2 frames Processed 80474 video frames Mux successful complete. Muxing time: 4 min 17 sec

  • MP4BOXを使ってDEMUX→MUXの際AAC音声に問題

    素材mp4形式ムービーファイルがある 1.mp4boxでDEMUX 2.映像を縮小再エンコーディング 3.2で再エンコーディングした映像と、1で取り出した音声をMUX ここで、音声のTimeScale ・ Durationがおかしくなり、およそ3倍の時間に変化してしまうという状態です。 映像の方ですとFPS指定などで強制する手段があるようですし、WEBで検索した資料でもそちらの対処法は見つかりました。 しかし今回は映像の側は正しく、音声の側がおかしいという状態で資料がなく困っております。 下記に、元mp4の作成概略と、今回の変換、およびmp4box -infoによる状況を記します。 改善点などの指摘がありましたらよろしくお願いします。 (映像側は問題ないので、主に音声に関する部分のみを記載します) ==以下資料== ※MP4BOXのバージョン MP4Box - GPAC version 0.4.5 (build 33 - Dec 11 2008) - compiled by Kurtnoise GPAC Copyright: (c) Jean Le Feuvre 2000-2005 (c) ENST 2005-200X ※元mp4ファイル作成時 NeroAACEnc 付加したオプション -br 128000 -lc -ignorelength mp4boxにてmp4コンテナに収める MP4Box.exe -add "(入力映像ファイル):fps=30"#video -add "(入力音声ファイル)"#audio -new (出力MP4ファイル) ※縮小再エンコーディング前のDEMUX MP4Box.exe -raw 2 (分離音声ファイル) この時点のxxxx_track2.aacは正常に再生可能 ※再MUX MP4Box.exe -add "(再エンコード映像ファイル):fps=30"#video -add "(分離音声ファイル)"#audio -new (出力MP4ファイル) また、xxxx_track2.aacを一回mp4コンテナに収めてから上記作業を行っても同じ状況になります。 ともかくMP4Boxで分離したaac(rawデータ)をmp4コンテナに収める段階で不具合が発生している模様です。 ※素材MP4ファイルのmp4box -info出力。(注:重要な相違点に『』を付加しています) * Movie Info * Timescale 600 - Duration 00:00:14.303 Fragmented File no - 2 track(s) File Brand isom - version 1 Created: GMT Mon Jan 12 02:13:13 2009 File has root IOD Scene PL 0xff - Graphics PL 0xff - OD PL 0xff Visual PL: AVC/H264 Profile (0x15) Audio PL: AAC Profile @ Level 2 (0x29) No streams included in root OD Chapters: Chapter #1 - 00:00:14.293 - "" Track # 1 Info - TrackID 1 - TimeScale 30000 - Duration 00:00:14.266 Media Info: Language "Undetermined" - Type "vide:avc1" - 428 samples MPEG-4 Config: Visual Stream - ObjectTypeIndication 0x21 AVC/H264 Video - Visual Size 1024 x 768 - Profile High @ Level 4 NAL Unit length bits: 32 Pixel Aspect Ratio 1:1 - Indicated track size 1024 x 768 Self-synchronized Track # 2 Info - TrackID 2 - TimeScale 『96000』 - Duration 『00:00:14.304』 Media Info: Language "Undetermined" - Type "soun:mp4a" - 1341 samples MPEG-4 Config: Audio Stream - ObjectTypeIndication 0x40 MPEG-4 Audio AAC LC - 2 Channel(s) - SampleRate 96000 Synchronized on stream 1 ※結果MP4ファイルのmp4box -info出力。(注:重要な相違点に『』を付加しています) * Movie Info * Timescale 600 - Duration 00:00:45.075 Fragmented File no - 2 track(s) File Brand isom - version 1 Created: GMT Sat Jan 31 02:37:39 2009 File has root IOD Scene PL 0xff - Graphics PL 0xff - OD PL 0xff Visual PL: AVC/H264 Profile (0x15) Audio PL: AAC Profile @ Level 2 (0x29) No streams included in root OD Track # 1 Info - TrackID 1 - TimeScale 30000 - Duration 00:00:14.300 Media Info: Language "Undetermined" - Type "vide:avc1" - 429 samples MPEG-4 Config: Visual Stream - ObjectTypeIndication 0x21 AVC/H264 Video - Visual Size 360 x 272 - Profile Main @ Level 3 NAL Unit length bits: 32 Pixel Aspect Ratio 136:135 - Indicated track size 362 x 272 Self-synchronized Track # 2 Info - TrackID 2 - TimeScale 『30464』 - Duration 『00:00:45.075』 Media Info: Language "Undetermined" - Type "soun:mp4a" - 1341 samples MPEG-4 Config: Audio Stream - ObjectTypeIndication 0x40 MPEG-4 Audio AAC LC - 2 Channel(s) - SampleRate 96000 Synchronized on stream 1 注:映像を納めず、音声aac(raw)データをMP4コンテナに収めただけでも同じ症状になります。

  • DVDAuthorGUIでend sequence codes云々のエラー

    お世話になります。 1時間40分程度の動画を MOVIE.m2v MOVIE.ac3 に分離してc:\に置いて c:\dvdにISOファイルを出力しようとしているのですが 以下のようなエラーが出てしまいます。 このエラーに悩みながら いろいろやってみてこの状態まできたのですが これ以上何をやってみればいいのかアイデアが出てきません。 助言いただけないでしょうか。 DVDAuthorGUI 1.014 - 7/10/2007 Send problems with DVDAuthorGUI to liquid_217@hotmail.com ***please wait while the titles are multiplexed. *multiplexing title: 1..... INFO: [???] mplex version 2.0.0 (2.2.3 $Date: 2004/01/13 20:45:26 $) INFO: [???] File C:\MOVIE.m2v looks like an MPEG Video stream. INFO: [???] File C:\MOVIE.ac3 looks like an AC3 Audio stream. INFO: [???] Video stream 0: profile 8 selected - ignoring non-standard options! INFO: [???] Found 1 audio streams and 1 video streams INFO: [???] Selecting dvdauthor DVD output profile INFO: [???] Multiplexing video program stream! INFO: [???] Scanning for header info: Video stream e0 (C:\MOVIE.m2v) INFO: [???] VIDEO STREAM: e0 INFO: [???] Frame width : 480 INFO: [???] Frame height : 480 INFO: [???] Aspect ratio : 4:3 display INFO: [???] Picture rate : 29.970 frames/sec INFO: [???] Bit rate : 4800000 bits/sec INFO: [???] Vbv buffer size : 229376 bytes INFO: [???] CSPF : 0 INFO: [???] Scanning for header info: AC3 Audio stream 00 (C:\MOVIE.ac3) INFO: [???] AC3 frame size = 1024 INFO: [???] AC3 AUDIO STREAM: INFO: [???] Bit rate : 32768 bytes/sec (256 kbit/sec) INFO: [???] Frequency : 48000 Hz INFO: [???] SYSTEMS/PROGRAM stream: INFO: [???] rough-guess multiplexed stream data rate : 5167144 INFO: [???] target data-rate specified : 10080000 INFO: [???] Setting specified specified data rate: 10080000 INFO: [???] Run-in Sectors = 89 Video delay = 13019 Audio delay = 22028 INFO: [???] New sequence commences... INFO: [???] Video e0: buf= 237568 frame=000000 sector=00000000 INFO: [???] Audio bd: buf= 16384 frame=000000 sector=00000000 INFO: [???] Scanned to end AU 46199 INFO: [???] Scanned to end AU 92443 INFO: [???] Scanned to end AU 138627 INFO: [???] Running out... INFO: [???] Video e0: buf= 653 frame=138627 sector=00700905 INFO: [???] Audio bd: buf= 131 frame=144529 sector=00073412 **ERROR: [???] Need to split output but there appears to be no %d in the filename pattern C:\dvd\title1.mpg Process aborted due to above error Error code #5 There was an error in multiplexing the titles. One of the m2v files has 'end sequence codes' in it that must be removed in order for it to multiplex correctly. This could be caused by an mpeg joining program or something similar. Use restream to remove these 'end sequence codes'. (http://shh.sysh.de/restream.html) Please review the log for more detailed information.

  • VOBファイルの動画変換形式について

    VOBファイルをAVI、WMV、FLV、MP4に動画変換する際に最適な各方法を教えて下さい。 一つだけ条件があるのは、画面サイズは1280:720と720:480の2通りバージョンで ご回答もらえると助かります。 変換形式:ファイル拡張子:MP4 動画コーデック:H.264 音声コーデック:AAC 映像:画面サイズ:1280:720 フレームレート:30 ビットレート:3000 音声:フレームレート:48Khz  ビットレート:256kb 変換形式:ファイル拡張子:MP4 動画コーデック:H.264 音声コーデック:AAC 映像:画面サイズ:720:480 フレームレート:30 ビットレート:1000 音声:フレームレート:48Khz  ビットレート:256kb 上記のように、画面サイズの2通りバージョンで、AVI、WMV、FLV、MP4の4つを教えてください。 よろしくお願いいたします。

  • Aviutlのプラグイン出力につきまして

    ご存じの方はおられないかと思いますが、ご存じの方、非常にお久しぶりでございます。 今回、Aviutlで後輩への指導用の動画を作っていました。 これまでも何度もAviutlで動画を作成しており、設定は基本的に使いまわしとなっています。 サイズ指定はフルHD、x264出力Exは自動マルチパス、ファイル上限200MB、目標映像ビットレート-1(自動)、プロファイルmain、H.264 Level自動、音声エンコーダはqaac、ABR 192kbps、その他は設定をいじっていません。 指導用の動画が完成し、上記の設定でmp4出力すると、最後の数フレームが毎回途切れます。 動画の長さは03:15.09(5818フレーム)で、出力範囲の指定は1フレーム~5818フレームです。 この設定で出力すると、5804フレームで必ず動画が終了してしまいます。 試しに後ろに30フレーム追加し、5848フレームとしてみても、やはり5804フレームで動画が終了してしまいます。 なお、avi出力を行うと、問題なく最後まできちんと出力されています。 出力したaviをAviutlの本体に読み込み、そのままx264出力を行っても、やはり5804フレームで終了するのを繰り返しています。 お心当たりのある方、なにとぞご教示いただければと思います。

  • aviutlでAっという動画を拡張x264出力(GUI)使って出力した

    aviutlでAっという動画を拡張x264出力(GUI)使って出力したんですが なぜか見れなくはないんですが元のAっという動画よりカクカクしています http://nextalpha.ddo.jp/alpha/dvd/d3.htm こちらのサイトの§Session 3 をみてフレームレートの変更を24fps化をやってみたんですが 24fps <- 30fps (4/5)に入れると×が出てきて「なし」に入れると×は出てないので「なし」であってると思うのですが。。。 Session 4 インターレース解除のインターレースの解除もいろいろいじってみたんですがカクカクしています。 ためしに windows live ムービーメーカーにAっという画像を入れてそのまま出力してみましたが滑らかでした。 参考になるかわかりませんが Aっというファイルの動画のプロパティの詳細タブを張っておきます あと動画もupロダですが動画おいときますhttp://tikuwa.net/files/8940.zip.html <PASS><1234> 中に「元動画」「aviutl-fps30」「aviutl-fps15][ムービーメーカー」が入ってます 元動画がwebcamで撮った動画 aviutl-fps30がフレームレートを30にしてmp4で出力した動画 aviutl-fps15がフレームレートを15にしてmp4で出力した動画 ムービーメーカーがムービーメーカーに入れてそのまま出力した動画 になります 拡張x264出力(GUI)の設定はここのを真似しました http://ameblo.jp/nakedemergency/entry-10376785091.html あともうひとつやりました http://gouka3.blog35.fc2.com/blog-entry-54.html ここのやつも真似しました。(サブピクセル精度を5にしました) 自動フィールドシフトっていうaviutlのプラグインも入れてみましたがだめでした aviutlのほうでフレームレートを15にしましたがだめでした。。。 使用したカメラはhttp://www.logicool.co.jp/ja-jp/webcam_communications/webcams/devices/5867 これになります osはwindows7 64bitです aviutlのber 7です。 分かる方どうかお願いします。

  • AviUtlのカメラ制御を使った動画出力

    こんにちは AviUtlのカメラ制御を使って動画を編集しました。 これをプラグインの「x264guiEx」を使ってmp4形式で出力をしました。 しかし、実際に出力されたmp4ファイルを再生しようとすると、音声のみのファイルという扱いになっており、動画部分が全く出力されませんでした。(音声のみの状態) プロパティを見たところ、ビデオのフレーム高とフレーム幅は何も書いておらず、データ速度と総ビットレートと長さのみ書いてありました。 出力の際はすべて出力できる状態にしてあります。(すべて選択されている状態) この現象の原因はなにかわかりますでしょうか? ちなみに、カメラ制御を使わなかったものは正常に成功しました。 OS:Windows7 ソフトのバージョン AviUtl:1.00 拡張編集:0.92 私はまだ初心者でやらなければならないことを飛ばしている可能性がありますが、考えられる原因があったら教えて下さると助かります。

  • DVDStylerのメニュー生成でエラーが出てこま

    DVDStyler 2.9.2 を使用しています。 壁紙を作成したのですが、DVD書き込み時に特定の壁紙だけメニュー生成でエラーが出て先に進めません。 ちなみにソフトに付属のテンプレートものはOK、緑の並木のものはNGで、どうしてもこの画像だけ受け付けてくれません。 どなたかご教授お願いいたします。 ログです。 メニュー生成 メニューを生成中 (1 / 1) メニュー MPEG を作成します 音声と映像を多重化中 映像ファイルのトランスコード: C:\Users\UUU-PA~1\AppData\Local\Temp\dvd-tmp\menu0-0.mpg_bg.m2v Need encode: false, use mplex: true 音声と映像ストリームを多重化中 Executing command: mplex -f 8 -S 0 -M -V -o "C:\Users\UUU-PA~1\AppData\Local\Temp\dvd-tmp\menu0-0.mpg_bg.mpg" "C:\Users\UUU-PA~1\AppData\Local\Temp\dvd-tmp\menu0-0.mpg_bg.m2v" "C:\Users\UUU-PA~1\AppData\Local\Temp\dvd-tmp\menu0-0.mpg_bg.ac3" INFO: [mplex] mplex version 1.9.0 (2.2.7 $Date: 2006/02/01 22:23:01 $) INFO: [mplex] File C:\Users\UUU-PA~1\AppData\Local\Temp\dvd-tmp\menu0-0.mpg_bg.m2v looks like an MPEG Video stream. INFO: [mplex] File C:\Users\UUU-PA~1\AppData\Local\Temp\dvd-tmp\menu0-0.mpg_bg.ac3 looks like an AC3 Audio stream. INFO: [mplex] Video stream 0: profile 8 selected - ignoring non-standard options! INFO: [mplex] Found 1 audio streams and 1 video streams INFO: [mplex] Selecting dvdauthor DVD output profile INFO: [mplex] Multiplexing video program stream! INFO: [mplex] Scanning for header info: Video stream e0 (C:\Users\UUU-PA~1\AppData\Local\Temp\dvd-tmp\menu0-0.mpg_bg.m2v) INFO: [mplex] VIDEO STREAM: e0 INFO: [mplex] Frame width : 720 INFO: [mplex] Frame height : 480 INFO: [mplex] Aspect ratio : 16:9 display INFO: [mplex] Picture rate : 29.970 frames/sec INFO: [mplex] Bit rate : 9000000 bits/sec INFO: [mplex] Vbv buffer size : 229376 bytes INFO: [mplex] CSPF : 0 INFO: [mplex] Scanning for header info: AC3 Audio stream 00 (C:\Users\UUU-PA~1\AppData\Local\Temp\dvd-tmp\menu0-0.mpg_bg.ac3) INFO: [mplex] AC3 frame size = 256 INFO: [mplex] AC3 AUDIO STREAM: INFO: [mplex] Bit rate : 8192 bytes/sec ( 64 kbit/sec) INFO: [mplex] Frequency : 48000 Hz INFO: [mplex] SYSTEMS/PROGRAM stream: INFO: [mplex] rough-guess multiplexed stream data rate : 9252600 INFO: [mplex] target data-rate specified : 10080000 INFO: [mplex] Setting specified specified data rate: 10080000 INFO: [mplex] Run-in delay = 9009 Video delay = 9009 Audio delay = 12012 INFO: [mplex] New sequence commences... INFO: [mplex] Video e0: buf= 0 frame=000000 sector=00000000 INFO: [mplex] Audio bd: buf= 0 frame=000000 sector=00000000 ++ WARN: [mplex] Stream e0: data will arrive too late sent(SCR)=12141 required(DTS)=12012 ++ WARN: [mplex] Video e0: buf= 75395 frame=000001 sector=00000082 ++ WARN: [mplex] Audio bd: buf= 0 frame=000000 sector=00000000 INFO: [mplex] STREAM bd completed INFO: [mplex] STREAM e0 completed INFO: [mplex] Multiplex completion at SCR=18724. INFO: [mplex] Video e0: completed INFO: [mplex] Audio bd: completed INFO: [mplex] VIDEO_STATISTICS: e0 INFO: [mplex] Video Stream length: 252030 bytes INFO: [mplex] Sequence headers: 1 INFO: [mplex] Sequence ends : 0 INFO: [mplex] No. Pictures : 10 INFO: [mplex] No. Groups : 1 INFO: [mplex] No. I Frames : 1 avg. size 90642 bytes INFO: [mplex] No. P Frames : 10 avg. size 16085 bytes INFO: [mplex] No. B Frames : 0 avg. size 0 bytes INFO: [mplex] Average bit-rate : 5492800 bits/sec INFO: [mplex] Peak bit-rate : 0 bits/sec INFO: [mplex] BUFFERING min 114056 Buf max 235543 INFO: [mplex] AUDIO_STATISTICS: bd INFO: [mplex] Audio stream length 3328 bytes. INFO: [mplex] Frames : 13 INFO: [mplex] BUFFERING stream too short for useful statistics **ERROR: [mplex] MUX STATUS: Frame data under-runs detected! 失敗

  • aviUltエンコードの音声と動画の分離について

    すみません質問です。 aviUlltの拡張×264出力にて動画をエンコードしていたのですが、 設定を間違えたのか突然無音声のMP4と、音声のみaacファイルに分離して出力されるようになりました。 よくある周波数の問題での分離ではないようです。 どうもエンコードには成功しているもののMP4コンテナにaacを格納する最後の作業が完了しないのか。 処理も :音声エンコーダ neroAacEnc.exe で音声をエンコードします。 で停止してしまいます。 これは私の設定のミスでしょうか? aviultが壊れているのであれば、MP4とaacの合成が出来るソフトがあればいいのですが・・

  • ランキング非対象者のプログラム

    週一回の発表で一度受賞(5位まで)するとランキングから除外されるプログラムを作成しようと思います。 現在、会員のポイント数の多い順に表示させて過去一度でも受賞したIDを手動で一個づつ書いてランキングを書き出す際には除外している状態です。 例) if($ID=="ランキングID"){ //何もしない }else{ //ラング受賞者の情報を表示 } しかしこの方法では毎週手動で書かないといけないのと、ランキング受賞者が増えていくのでコードがもの凄く長くなります。 例) if($ID=="ランキングID"||$ID=="ランキングID"||$ID=="ランキングID"||$ID=="ランキングID"||$ID=="ランキングID"||$ID=="ランキングID"||$ID=="ランキングID"||$ID=="ランキングID"||$ID=="ランキングID"){ //何もしない }else{ //ラング受賞者の情報を表示 } ランキング非対称者をMySQLに格納して、ランキング除外者を除外させたランキングを表示する方法はないでしょうか??

    • 締切済み
    • PHP

専門家に質問してみよう