ラベル ffmpeg の投稿を表示しています。 すべての投稿を表示
ラベル ffmpeg の投稿を表示しています。 すべての投稿を表示

2019年9月16日月曜日

動画ファイル連結

2019 Sep. 16.

参照元 https://nyanshiba.hatenablog.com/entry/2018/02/03/071256#%E8%A4%87%E6%95%B0%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%921%E3%81%A4%E3%81%AB%E7%B9%8B%E3%81%92%E3%82%8B

再エンコード無しで動画連結

(1)連結するファイルを1行毎に記載したテキストファイルを作成する
   各行の先頭はfileで始まり、スペースで区切って2列めにファイル名を
   フルパス(カレントディレクトリならばファイル名のみで可)を記載する。

    (input.txt)
    file FILE1.mp4
    file FILE2.mp4

(2)連結コマンド
         $ ffmpeg -fflags +discardcorrupt -f concat -safe 0 -i input.txt -c copy output.mp4

2019年7月8日月曜日

NHKらじるらじるの録音

2019 Jul. 08.

らじるらじるの配信形式


  • HLS(HTTP Live Streaming) HE-AAC形式
  • M3Uプレイリストフォーマット
  • 各チャンネルのURLはconfig_web.xmlファイルに記載




 録画コマンド

$ ffmpeg -i ChannelAspxUrl -t SECONDS -codec copy OUTFILE.m4a

2019年4月14日日曜日

RADIO TxT FM dramacityを録音する

2019 May 16.
2019 Apr. 14.

RADIO TxTを1時間2分3秒間録音するコマンド例

時:分:秒 方式
$ ffmpeg -i http://mtist.as.smartstream.ne.jp/30044/livestream/playlist.m3u8 -t 01:02:03  -movflags faststart -vn -acodec copy OUTFILE.m4a

秒 方式
$ ffmpeg -i http://mtist.as.smartstream.ne.jp/30044/livestream/playlist.m3u8 -t  3723 -movflags faststart -vn -acodec copy OUTFILE.m4a


 -tオプションは-iオプションよりも後ろに記述する

動画から音声を無劣化抽出

2019 Apr. 14.

音声フォーマットを確認する

$ ffmpeg -i INFILE 2>&1 | grep Audio

出力ファイルの拡張子に音声フォーマットに応じたものを指定して、音声を抽出する

$ ffmpeg -i INFILE -vn -acodec copy OUTFILE.extension

2019年3月24日日曜日

aacオーディオのファイルのファイルフォーマットはadts

2019 Mar. 24.

aacオーディオのファイルのファイルフォーマットはadts

$ ffmpeg -ss 5 -i INFILE.m4a -t 10 -f adts -acodec aac -absf aac_adtstoasc -strict -2 -threads 2 OUTFILE..m4a

2017年11月19日日曜日

動画連結

2018 Oct. 01.
2017 Nov. 19.
2016 Dec. 31.

$ ffmpeg -i 元の動画1 -i 元の動画2 ... -i 元の動画N -filter_complex "concat=n=N:v=1:a=1" 出力動画
    N個の動画を結合する場合、まず結合する動画を結合する順番に並べ、concatにNを指定する。
    そのあとに続くvは映像を連結するか(1:true/ 0:false)、a は音声を連結するか(1:true/ 0:false)のオプション。


$ ffmpeg -i "concat:FILE150215-122245.ts|FILE150215-122545.ts|...(いくつかのファイル)...|" -c copy "FILE150215-122545.ts"

$ ffmpeg -i "concat:1.mp4|2.mp4|3.mp4" -c copy dst.mp4
$ ffmpeg -f concat -safe 0 -i <(for f in src/*.mp4; do echo "file '$PWD/$f'"; done) -codec copy dst.mp4

$ ffmpeg -i imput1.mp4 -i imput2.mp4 -strict -2 -filter_complex 'concat=n=2:v=1:a=1' output.mp4
    i imput1.mp4 -i imput2.mp4 の部分が入力ファイル。
    filter_complex 'concat=n=2:v=1:a=1' の部分が「入力された動画を連結する」という指定で、concat=n=2の数字の「2」が連結する動画数で、「v=1:a=1」が「画像、音声とも連結する」という意味。
音声がAACの場合は「-strict -2 」オプションも必要。

2017年4月1日土曜日

動画ファイルからの切り出し

2018 Oct. 01.
2018 Apr. 15.
2017 Apr. 01.

FILE.tsの1,000秒目から300秒間の動画を取り出し、FILE.mpgとして保存する。

  ( qiita.com/kitar/items/d293e3962ade087fd850 参照 )
$ ffmpeg -ss [開始地点(秒)] -i [入力する動画パス] -t [切り出す秒数] [出力する動画パス]
$ ffmpeg -ss [開始地点(秒)] -i [入力する動画パス] -t [切り出す秒数] -strict -2 [出力する動画パス]
    開始地点(-ss)はソースの指定(-i)より手前に置く
    必ずエンコードする(-codec copyとかやらない)
    音声がAACの場合は「-strict -2 」オプションも必要。

    copyオプションを使わず、エンコードを行わないと時間のズレが生じやすい。 

INFILEの200秒目から8秒間の動画を取り出し、H.264で保存する。

$ ffmpeg -ss 200 -i INFILE -t 8 -f mp4 -vcodec libx264 -fpre MYPRESET.ffpreset -r 30000/1001 -aspect 16:9 -s 800x450 -bufsize 20000k  -maxrate 25000k -acodec aac -absf aac_adtstoasc -strict -2 -threads 2  ./OUTFILE.mp4