TSファイルからワンセグ画質のストリーミングを削除する
概要
GoogleドライブにTSファイルをアップロードした場合に、ワンセグのストリーミングが含まれているとワンセグ画質のみがGoogleドライブに保存されてしまう場合がある。
これを避けるために、TSファイルからワンセグ画質のストリーミングを削除する。
目次
環境
- Windows 7 64bit
準備
とくになし
手順
"TSSniper" を使用する
TSSniperをダウンロードする
- TSSniper 0.80.0.600 test - VideoHelpにアクセスする。
- "Download TSSniper 0.80.0.600 test"をクリックし、"TSSniper_0_80_0_600_Freeware.zip"をダウンロードする。
- "TSSniper_0_80_0_600_Freeware.zip"を任意の場所に解凍する。
ストリームを削除する
- "TSSniper.exe"を起動する。
- "File"⇒"New Project"をクリックする。
- TSファイルをD&Dする。
- 解析が行われ、"SpritON Sniper - Program selection"ダイアログが表示される。
- "SpritON Sniper - Program selection"ダイアログから、残したいストリームを選択し、"OK"ボタンをクリックする。
- "Export"⇒"Export trasport stream"をクリックする。
- 保存先を選択し、"保存"ボタンをクリックする。
- ストリームが削除されるので、ファイルサイズも小さくなる。
注意
- TSファイルの"ネットワーク名"の情報は削除される。
- テキストストリームも削除される。
- 音声ビットレートが若干下がる?
"ffmpeg" を使用する
勉強中。
入力ファイルのストリームを確認する
コマンド
ffmpeg -i <入力ファイル>
オプション
出力例
ffmpeg version 3.4.2 Copyright (c) 2000-2018 the FFmpeg developers built with gcc 7.3.0 (GCC) configuration: --enable-gpl (略) libavutil 55. 78.100 / 55. 78.100 (略) libpostproc 54. 7.100 / 54. 7.100 [mpeg2video @ 00000000003cc400] Invalid frame dimensions 0x0. Last message repeated 10 times [mpegts @ 00000000003ca400] start time for stream 2 is not set in estimate_timin gs_from_pts [mpegts @ 00000000003ca400] start time for stream 3 is not set in estimate_timin gs_from_pts [mpegts @ 00000000003ca400] nothing to probe for stream 2 [mpegts @ 00000000003ca400] nothing to probe for stream 3 [mpegts @ 00000000003ca400] Could not find codec parameters for stream 4 (Audio: aac ([15][0][0][0] / 0x000F), 0 channels): unspecified sample format Consider increasing the value for the 'analyzeduration' and 'probesize' options Input #0, mpegts, from '<入力ファイル>': Duration: 00:15:10.83, start: 68581.575111, bitrate: 16223 kb/s Program 103 Metadata: service_name : ?~ホネヒツモ?|ラ・「 service_provider: ?~ホネヒ Stream #0:0[0x100]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420 p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc Stream #0:1[0x110]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, ster eo, fltp, 276 kb/s Stream #0:2[0x130]: Data: bin_data ([6][0][0][0] / 0x0006) Stream #0:3[0x138]: Data: bin_data ([6][0][0][0] / 0x0006) Stream #0:4[0x111]: Audio: aac ([15][0][0][0] / 0x000F), 0 channels Program 104 Metadata: service_name : ?~ホネヒツモ?|ラ・「 service_provider: ?~ホネヒ At least one output file must be specified
例では、"0:0" が映像、"0:1" が音声であることがわかる。
ストリームを抽出する
コマンド
ffmpeg -i <入力ファイル> -map 0:0 -map 0:1 -async 1 -codec copy <出力ファイル>
オプション
-map <file:stream>
- <file:stream>で指定したストリームを対象とする。
- 併記可。
- 上記の例より、
-map 0:0 -map 0:1
で映像と音声が対象となる。
-async <1-1000>
- 音声を映像に同期させる。
-async 1
は、音声の最初のみ同期をさせ、それ以降はサンプルをそのまま使用する。- 大きな音ズレの修正を行いと音声がゆがむ。
注意
- 指定の映像・音声を出力ファイルへコピーするため、それ以外の情報は削除される。
- ネットワーク名
- テキストストリーム
以上。