【ニコ生】 タイムシフトのFLVを無劣化で連結する

現在(2013年2月時点)では ニコ生のTSを無劣化で連結する Andy's FLV Joiner の方が手軽でより高速に連結できる。

この方法はニコ生のTSの他にYoutubeやyouku等の分割動画にも応用できる。

使用するツールは

FLVMerge
http://orz.s176.xrea.com/download/FLVMerge.zip
起動には .Net framework 2.0 以上が必要

FLVMDIとFLVMDIGUI
真ん中より少し下のDownloadsの所にある
http://www.buraks.com/flvmdi/

以前はMoyea FLV Editor Liteで編集して出力する方法を紹介していたが、ツールのインストールと編集にPCスペックが必要であまり手軽ではなかったので、もっと手軽に連結できるFLVMergeを利用する。

ニコ生のTSファイルが分割される例として配信方法を変える、長時間放送で3時間毎に分割、公式生放送の低画質モード、ニコ生サーバーが不調などだが、今回紹介する連結方法はニコ生サーバーが不調で配信方法が変わらない、つまり放送設定(エンコードオプション)が変わらない場合のTSファイルを連結する。

FLVMergeの使い方はreadme.txtに書いてあるが

コマンドプロンプトから
flvmerge filename1.flv filename2.flv
でmerge.flvがカレントフォルダに出力されます。



なので入力ファイル名を設定して.batで保存し.batを実行する。するとコンソールが開いて文字が大量に流れるがしばらく待つと連結前の動画と同じ場所にmerge.flvで動画が出力される。

次にできあがった動画を再生してみると、動画時間が連結した時間以降が表示されないのでFLVMDIでメタデータを修正する。

flvmdi.exeとflvmdigui.exeを同じフォルダに置いてflvmdigui.exeを実行し入力と出力を指定し、オプションは何もチェックを入れずにRun FLVMDIを押してしばらくすると動画が出力される。これで連結されたTSができあがる。

この連結方法はニコ生の各TSのフォーマットH.263/Nellymoser,VP6/MP3,H.264/MP3に対応していて、映像の最初に音声だけで動画が出力されていない動画を連結しても音ずれなく連結できる。

追記 2011/02/08
FLVMergeとFLVMDIはともにコマンドラインから使えるので一度に処理する方法

flvmdi でヘッダを編集前後のファイルを残すなら merge_fix.flv をつけて、残さないのなら merge_fix.flv を消せば merge.flv がヘッダを編集した動画として出力される。

flvmerge 1.flv 2.flv
flvmdi merge.flv merge_fix.flv



そのほかに連結ツールとしてunitemovieやMovieOperatorが有名だがニコ生のTSだとエラーが出るみたい。
http://red.sakura.ne.jp/~anonymouse/unitemovie_download.html
http://www.gigafree.net/media/me/movieoperator.html

関連記事
【タイムシフト】 ニコ生のTS(FLV H.264/MP3)を編集、エンコードする方法
【ニコ生】 ライブストリーミングの動画を編集・エンコードする 【Ust】
関連記事

この記事へのコメント

-2012/01/07 (土) 10:05:46

ドラッグ&ドロップで手軽に実行できるようにスクルプトにしてみました。
※exeパスの修正が必要

以下VBS --------------------------------------------

Const FLV_MERGE_EXE = "?:\?????\FLVMerge.exe"
Const FLV_MDI_EXE = "?:\?????\flvmdi.exe"
Const MERGE_FILE = "merge.flv"

Dim Param
Set Param = WScript.Arguments
If Param.Count < 2 Then
Set Param = Nothing
WScript.Quit
End If

Dim Fs
Set Fs = CreateObject("Scripting.FileSystemObject")
Dim Shell
Set Shell = CreateObject("WScript.Shell")

Dim file_path
file_path = Left(Param(0), Len(Param(0))-Len(Fs.GetFileName(Param(0))))

Shell.CurrentDirectory = file_path

Dim aList(), cnt, p1, i
cnt = 0
For Each p1 In Param
p1 = Fs.GetFileName(p1)
ReDim Preserve aList(cnt)
If cnt > 0 Then
For i = cnt-1 To 0 Step -1
If StrComp(aList(i), p1) > 0 Then
aList(i+1) = aList(i)
Else
aList(i+1) = p1
Exit For
End If
Next
If i < 0 Then
aList(i+1) = p1
End If
Else
aList(cnt) = p1
End If

cnt = cnt + 1
Next

Dim input_files, sData
input_files = ""
For Each sData In aList
input_files = input_files & " """ & sData & """"
Next

Shell.Run FLV_MERGE_EXE & input_files, 6, True

Dim file1, file2, output_file
file1 = Fs.GetFileName(Param(0))
file2 = Fs.GetFileName(Param(1))
For i=1 To Len(file1)
If StrComp(Left(file1, i), Left(file2, i)) <> 0 Then
Exit For
End If
Next
output_file = Left(file1, i-1)
Dim right1
right1 = Right(output_file, 1)
If right1 = "-" Or right1 = "‐" Or _
right1 = "_" Or right1 = "_" Or _
right1 = "(" Or right1 = "(" Then
output_file = Left(output_file, Len(output_file)-1)
End If
output_file = output_file & ".flv"

Shell.Run FLV_MDI_EXE & " " & MERGE_FILE & " " & output_file, 6, True
Fs.DeleteFile MERGE_FILE

Set Param = Nothing
Set Fs = Nothing
Set Shell = Nothing

ロベルト2012/01/09 (月) 20:32:05

スクリプトありがどうございます。

vbsは読めませんが試してみたことろ、ファイル名によっては上書きされたり、何も起こらなかったりするようです。

1.flv 2.flv 出力は .flv

ただし
a.flv, a (2).flv だと a.flv に上書きされる
a (1).flv, a (2).flv だと何も起こらない

管理人のみ通知 :

トラックバック


ニコニコチャンネル始めました
ニコラボチャンネル
スポンサード リンク
THE IDOLM@STER THE@TER ACTIVITIES 03
THE IDOLM@STER THE@TER ACTIVITIES 03

Fate/EXTELLA REGALIA BOX for PlayStation (R) 4 【初回限定特典】ネロ・クラウディウス、アルトリア・ペンドラゴン衣装「純真のナイトドレス」プロダクトコード付+【Amazon.co.jp限定特典】アルテラ衣装「スイートデビル」プロダクトコード配信 - PS4
Fate/EXTELLA REGALIA BOX for PlayStation (R) 4 【初回限定特典】ネロ・クラウディウス、アルトリア・ペンドラゴン衣装「純真のナイトドレス」プロダクトコード付+【Amazon.co.jp限定特典】アルテラ衣装「スイートデビル」プロダクトコード配信 - PS4

妖怪ウォッチ くったりぬいぐるみだニャン ジバニャン
妖怪ウォッチ くったりぬいぐるみだニャン ジバニャン

Fate/EXTELLA VELBER BOX 【初回限定特典】ネロ・クラウディウス、アルトリア・ペンドラゴン衣装「純真のナイトドレス」プロダクトコード付+【Amazon.co.jp限定特典】アルテラ衣装「スイートデビル」プロダクトコード配信 - PS4
Fate/EXTELLA VELBER BOX 【初回限定特典】ネロ・クラウディウス、アルトリア・ペンドラゴン衣装「純真のナイトドレス」プロダクトコード付+【Amazon.co.jp限定特典】アルテラ衣装「スイートデビル」プロダクトコード配信 - PS4

Fate/EXTELLA REGALIA BOX for PlayStation (R) Vita 【初回限定特典】ネロ・クラウディウス、アルトリア・ペンドラゴン衣装「純真のナイトドレス」プロダクトコード付+【Amazon.co.jp限定特典】アルテラ衣装「スイートデビル」プロダクトコード配信 - PS Vita
Fate/EXTELLA REGALIA BOX for PlayStation (R) Vita 【初回限定特典】ネロ・クラウディウス、アルトリア・ペンドラゴン衣装「純真のナイトドレス」プロダクトコード付+【Amazon.co.jp限定特典】アルテラ衣装「スイートデビル」プロダクトコード配信 - PS Vita

【早期購入特典あり】初音ミクシンフォニー~Miku Symphony 2016~オーケストラ ライブ CD(初音ミクシンフォニー描き下ろしクリアファイル付き(ランダム配布))
【早期購入特典あり】初音ミクシンフォニー~Miku Symphony 2016~オーケストラ ライブ CD(初音ミクシンフォニー描き下ろしクリアファイル付き(ランダム配布))

「うたわれるもの 偽りの仮面&二人の白皇」歌集(初回限定盤)
「うたわれるもの 偽りの仮面&二人の白皇」歌集(初回限定盤)

TVアニメ『ラブライブ!サンシャイン!!』挿入歌シングル「想いよひとつになれ/MIRAI TICKET」
TVアニメ『ラブライブ!サンシャイン!!』挿入歌シングル「想いよひとつになれ/MIRAI TICKET」

『刀剣乱舞-花丸-』 歌詠集 其の三 特装盤
『刀剣乱舞-花丸-』 歌詠集 其の三 特装盤

本好きの下剋上~司書になるためには手段を選んでいられません~第一部 「本がないなら作ればいい3」
本好きの下剋上~司書になるためには手段を選んでいられません~第一部 「本がないなら作ればいい3」

新着記事と追記・編集記事
スポンサード リンク
ブログ内検索
プロフィール

Author:ロベルト
お問い合わせはこちらまで
robelt2525[at]gmail.com

中の人 @nico_lab
ブログ更新用 @blo_nico_lab

詳しいプロフィールはこちら

カテゴリ
アクセスの多い記事
記事アーカイブ

最新コメント
リンク
ニコニコ静画
アニメカテゴリ毎時ランキング
免責事項
当ブログはリンクフリーです。記事によりトラブルが生じた場合でも、当ブログ管理人は一切の責任を負いません。 当ブログに記載されている情報の正誤や利用は、ご自身の判断でお願いします。 紹介したアプリケーションに関する問い合わせは作者に問い合わせてください。ニコニコ動画に関する質問はまずは公式掲示板、2ch、各Q&Aサイトを参照ください。
ブログの読者になる(RSS)
アクセス数