Stream ID pada Multiple Input File
Format seperti ini dapat dilihat pada ffmpeg dalam penanganan input file.
$ ffmpeg -i original.avi -i original.avi
Input #0, avi, from ‘original.avi’:
…
Stream #0.0: Video: mpeg4, yuv420p, 672×272 [PAR 1:1 DAR 42:17], 23.98 fps, 23.98 tbr, 23.98 tbn, 23.98 tbc
Stream #0.1: Audio: mp3, 48000 Hz, stereo, s16, 128 kb/s
…
Input #1, avi, from ‘original.avi’:
…
Stream #1.0: Video: mpeg4, yuv420p, 672×272 [PAR 1:1 DAR 42:17], 23.98 fps, 23.98 tbr, 23.98 tbn, 23.98 tbc
Stream #1.1: Audio: mp3, 48000 Hz, stereo, s16, 128 kb/s
Jadi jika ada 2 file maka formatnya spt diatas:…
Stream #0.0: Video: mpeg4, yuv420p, 672×272 [PAR 1:1 DAR 42:17], 23.98 fps, 23.98 tbr, 23.98 tbn, 23.98 tbc
Stream #0.1: Audio: mp3, 48000 Hz, stereo, s16, 128 kb/s
…
Input #1, avi, from ‘original.avi’:
…
Stream #1.0: Video: mpeg4, yuv420p, 672×272 [PAR 1:1 DAR 42:17], 23.98 fps, 23.98 tbr, 23.98 tbn, 23.98 tbc
Stream #1.1: Audio: mp3, 48000 Hz, stereo, s16, 128 kb/s
0:0 stream ke 0 yaitu Video, pada file input pertama
0:1 stream ke 1 yaitu Audio, pada file input kedua
Dengan demikian
100:0 stream ke 0 yaitu Video, pada file input ke 101
MENGGANTI AUDIO
Misalkan kita punya 3 file:
bigbunny15s.mp4
tswitft15s.mp4
kalimba15s.mp3
Diinginkan membuat 2 file:
bigbunnytswift.mp4 (video bigbunny, audio tswitft)
twisftkalimba.mp4 (video tswitft, audio kalimba)
Commandnya sbb:
ffmpeg -i bigbunny15s.mp4 -i tswift15s.mp4 -i kalimba15s.mp3 -map 0:0:0:0 -map 1:1:0:1 -c:v copy -c:a copy bigbunnytswift.mp4 -map 1:0:1:0 -map 2:0:1:1 -c:v copy -c:a copy tswitftkalimba.mp4 |
Hasil: bigbunnytswift.mp4
Hasil: tswitftkalimba.mp4
Penjelasan format -map
-map a:b:x:y [petakan dari stream ke-b dari file input ke-a menjadi stream ke-y file output ke-x] |
Urutan file dalam FFMPEG penting. File dan stream di mulai dengan index 0, artinya pertama file di map 0, file ke2 di map 1, stream pertama di map 0, stream kelima di map 4, dst
-map 0:0:0:0
ambil dari file input ke 0 (bigbunny15s.mp4) stream ke 0 yaitu stream video, masukkan video tsb ke file output ke 0 (bigbunnytswift.mp4) stream ke 0, yaitu stream video
-map 2:0:1:1
ambil dari file input ke 2 (kalimba15s.mp3) stream ke 0 yaitu stream audio, masukkan audio tsb ke file output ke 1 (tswiftkalimba.mp4) stream ke 1, yaitu stream audio
Apabila file output hanya 1 file, maka cukup dengan:
-map a:b [petakan dari stream ke-b dari file input ke-a menjadi stream defaulf di file output] |
Catatan:
Perintah:
ffmpeg -i bigbunny15s.mp4 -i tswift15s.mp4 -i kalimba15s.mp3 -map 0:0:0:0 -map 1:1:0:1 -c:v copy -c:a copy bigbunnytswift.mp4 -map 1:0:1:0 -map 2:0:1:1 -c:v copy -c:a copy tswitftkalimba.mp4
Setara dengan:
ffmpeg -i bigbunny15s.mp4 -i tswift15s.mp4 -map 0:0 -map 1:1 -c:v copy -c:a copy bigbunnytswift.mp4
ditambah
ffmpeg -i tswift15s.mp4 -i kalimba15s.mp3 -map 0:0 -map 1:0 -c:v copy -c:a copy tswitftkalimba.mp4
dan -c:v copy -c:a copy bisa disederhanakan menjadi -c copy
No comments:
Post a Comment