preview video:
ffmpeg -i "23La Bella e la Bestia (1991).mp4" -vf "scale=1280:720" -pix_fmt
yuv420p -f matroska - | ffplay -
https://www.youtube.com/playlist?list=PLcT6A4N2CRF4Wo_jn-_DDdVX1R--TE0rV
cach join file:
voi file mp4 chuyen het ve .ts roi dung cau lenh sau: ffmpeg -i
"concat:intermediate1.ts|intermediate2.ts" -c copy -bsf:a aac_adtstoasc output.mp4
EQ audio:
equalizer=f=32:width_type=o:width=1:g=3,
equalizer=f=64:width_type=o:width=1:g=6,
equalizer=f=125:width_type=o:width=1:g=9,
equalizer=f=250:width_type=o:width=1:g=8,
equalizer=f=500:width_type=o:width=1:g=6,
equalizer=f=1000:width_type=o:width=1:g=5,
equalizer=f=2000:width_type=o:width=1:g=7,
equalizer=f=4000:width_type=o:width=1:g=9,
equalizer=f=8000:width_type=o:width=1:g=11,
equalizer=f=16000:width_type=o:width=1:g=8
//nguyen ly cai padd co size lon hon video. vi du: video nay scale lai la 720x480
co padding moi canh la 10 => video se phai scale lai 720-20 va 480-20 => la 700:460
ffmpeg -y -i a.mp4 -vf scale=700:460,pad=720:480:10:10:color=green out.mkv
cat file theo sequence:
ffmpeg -i b.mp4 -c copy -map 0 -segment_time 180 -f segment split/output%03d.mp4
ffmpeg -i b.mp4 -c copy -segment_time 180 -f segment split/output%03d.mp4
ffmpeg -i b.mp4 -acodec copy -f segment -segment_time 180 -vcodec copy
-reset_timestamps 1 split/output%03d.mp4
split ra nhieu file nho:
ffmpeg -i S11E16.mp4 -vf setpts=PTS/1.2 -af atempo=1.2,volume=2.0 -r 29 -ab 128k
-ar 48k -ac 2 -b 1049k -f segment -segment_time 60 -reset_timestamps 1 -map 0 ffff
%d.avi
ffmpeg -i S11E16.mp4 -f segment -segment_time 60 -reset_timestamps 1 -map 0 ffff
%d.avi
add subtitle to video
ffmpeg -i video.avi -vf subtitles=subtitle.srt out.avi
voi file mp4:
c1: ffmpeg -i se.mp4 -i sub.srt -c:s mov_text -c:v copy -c:a copy outfile.mp4
extract subtitle
ffmpeg -i eye.mkv -an -vn -c:s:1 srct sub.srt
extract image:
ffmpeg -i bg.mp4 -t 05 -r 1 -f image2 bgs/image-%3d.png
In this example each image will have a duration of 5 seconds (the inverse of 1/5
frames per second). The video stream will have a frame rate of 30 fps by
duplicating the frames accordingly:
ffmpeg -framerate 1/5 -i img%03d.png -c:v libx264 -r 30 -pix_fmt yuv420p out.mp4
https://trac.ffmpeg.org/wiki/Create%20a%20video%20slideshow%20from%20images
extract audio:
./ffmpeg -i dog1.mp4 -a:c copy -v:c copy -vn dog.mp3
./ffmpeg -i out.mp4 -vn eye.mp3
(-vn is no video)
remove audio:
./ffmpeg -i out_split.mp4 -c copy -an mtp_video_no_sound.mp4
add audio to video
./ffmpeg -i upload.mkv -i se1.mp3 -map 0:0 -map 1:0 output_mix.mkv
mix 2 audio:(longest, shortest)
./ffmpeg -i mtp_audio.mp3 -i noise.mp3 -filter_complex "[0:0][1:0]
amix=inputs=2:duration=shortest" -c:a libmp3lame mix_audio.mp3
rotate video:
ffmpeg -i in.mp4 -vf "rotate=PI/2" out.mp4
ffmpeg.exe -i 001.mp4 -vf "rotate=-PI/60" -t 00:00:30 out.mp4
crop video:
./ffmpeg -i a.mp4 -strict -2 -filter:v "crop=1280:720:20:20" out.mp4
http://video.stackexchange.com/questions/4563/how-can-i-crop-a-video-with-ffmpeg
//zoom video
ffmpeg -i 001.mp4 -vf scale=2*iw:-1 output_1028_001.mp4
scale video:
ffmpeg -i 001.mp4 -vf scale=1280:-1 output_1028_001.mp4
https://trac.ffmpeg.org/wiki/Scaling%20(resizing)%20with%20ffmpeg
zoom video and crop: e.g. to zoom in with a factor of 2, assuming an input video of
1280×720 pixels:
ffmpeg -i input.mp4 -vf "scale=2*iw:-1, crop=iw/2:ih/2" output.mp4
chinh spitch video:
https://trac.ffmpeg.org/wiki/How%20to%20speed%20up%20/%20slow%20down%20a%20video
Split video to multi part:
./ffmpeg -i a.mp4 -acodec copy -f segment -segment_time 10 -vcodec copy
-reset_timestamps 1 -map 0 -an a%d.mp4
./ffmpeg -i a.mp4 -codec copy -t 00:00:25.5 out1.mp4 -codec copy -ss 00:00:25.5 -t
00:00:33.75 out2.mp4
split by time:
./ffmpeg -ss 00:01:45 -i rs/vtv3_27052015.ts -t 00:47:45 -c:v libx264 -c:a aac
-strict experimental -b:a 128k out_upload.mp4
./ffmpeg -ss 00:00:25 -i "data/Tom_And_Jerry Diary.avi" -t 00:06:17 -c:v libx264
-c:a aac -strict experimental -b:a 128k Tom_And_Jerry_Diary.mp4
cat 1 trogn 1 thoi diem:
./ffmpeg -v quiet -y -i ts_562015.mp4 -vcodec copy -acodec copy -ss 00:00:25 -t
00:26:02 -sn thoi_su_05062015.mkv
//noi 2 file
ffmpeg -i concat:"001.ts|002.ts|003.ts|004.ts" -c copy output.ts
voi mp4 phai chuyen ve ts
ffmpeg -i BMH1_01.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts BMH1_01.ts
ffmpeg -i BMH1_02.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts BMH1_02.ts
ffmpeg -i "concat:BMH1_01.ts|BMH1_02.ts" -c copy -bsf:a aac_adtstoasc
BAN_MUON_HEN_HO_14062015.ts
//cat 2 doan strong 1 thoi diem
echo "Two commands"
time ./ffmpeg -v quiet -y -i rs/vtv1_28052015_12_00.ts -vcodec copy -acodec copy
-ss 00:01:30 -t 00:54:10 -sn thoi_su_12h.mkv
time ffmpeg -v quiet -y -i input.ts -vcodec copy -acodec copy -ss 00:30:00 -t
01:00:00 -sn test2.mkv
echo "One command"
./ffmpeg -v quiet -y -i ts_19h.mp4 -vcodec copy -acodec copy -ss 00:00:19 -t
00:37:11 -sn thoi_su_19h_04062015.mkv
12:27 25:00-
chuong trinh 60s
./ffmpeg -v quiet -y -i raw.mp4 -vcodec copy -acodec copy -ss 00:00:32 -t 00:06:38
-sn 60s_01.mp4 -vcodec copy -acodec copy -ss 00:09:50 -t 00:04:00 -sn 60s_02.mp4
-vcodec copy -acodec copy -ss 00:16:36 -t 00:08:22 -sn 60s_03.mp4
ffmpeg -i "concat:60s_01.ts|60s_02.ts|60s_03.ts" -c copy -bsf:a aac_adtstoasc
60s_14062015.mkv
ffmpeg -i 60s_01.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts 60s_01.ts
ffmpeg -i 60s_02.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts 60s_02.ts
ffmpeg -i 60s_03.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts 60s_03.ts
./ffmpeg -v quiet -y -i BAN_MUON_HEN_HO_14_06_2015.mp4 -vcodec copy -acodec copy
-ss 00:00:00 -t 00:09:35 -sn BMH1_01.mp4 -vcodec copy -acodec copy -ss 00:12:27 -t
00:12:33 -sn BMH1_02.mp4
./ffmpeg -v quiet -y -i rs/60s_05062015_raw.ts -vcodec copy -acodec copy -ss
00:10:33 -t 00:04:10 -sn 60s_02.ts
./ffmpeg -v quiet -y -i rs/60s_05062015_raw.ts -vcodec copy -acodec copy -ss
00:17:32 -t 00:08:31 -sn 60s_03.ts
./ffmpeg -v quiet -y -i 60s_01062015.ts -vcodec copy -acodec copy -ss 00:08:33 -t
00:02:11 -sn 60s_01.ts -vcodec copy -acodec copy -ss 00:12:18 -t 00:03:09 -sn
60s_02.ts -vcodec copy -acodec copy -ss 00:17:35 -t 00:05:07 -sn 60s_03.ts -vcodec
copy -acodec copy -ss 00:25:32 -t 00:07:42 -sn 60s_04.ts
* note: nen dat ss truoc -i de video ko bi black frame
ffmpeg -y -ss 00:08:33 -i "Nick Cannon Presents Wild N Out S07E01 - Fabolous_Kevin
Hart.mp4" -vcodec copy -acodec copy -t 00:02:11 -sn 60s_01.mkv
./ffmpeg -loop 1 -i img.png -r 25 -vframes 2500 -an -vcodec libx264 -b 1500k -vf
"movie=a0.mp4 [logo]; [in][logo] overlay=0:0 [out]" -s 800x464 -y output.mp4
./ffmpeg -i a0.mp4 -i img.png -filter_complex \
"[0:v]pad=0:ih+20[bg];[bg][1:v]overlay=0:H-h,format=yuv420p[v]" \
-map "[v]" -c:v libx264 -c:a aac -strict -2 -movflags +faststart output.mp4
./ffmpeg -loop 1 -i img.png -i out1.mp4 -filter_complex overlay=0:0 out.mp4
//add image frame front video
./ffmpeg -i chorma_ok.jpg -i out.mp4 -filter_complex "overlay=(main_w-
overlay_w)/2:(main_h-overlay_h)/2" -codec:a copy output.mp4
./ffmpeg -i output_compress.mp4 -i bg1.png -filter_complex overlay=00:00 -codec:a
copy upload.mp4
./ffmpeg -i out.mp4 -i chorma_ok.jpg -filter_complex "overlay=00:00" -codec:a copy
output.mp4
==> add video len image
+ add 2 video
./ffmpeg -loop 1 -i img.png -i out1.mp4 -i out2.mp4 -filter_complex
"[0:v]scale=1280:-2[bg]; [1:v]scale=800:-1,setpts=PTS-STARTPTS[fg1];
[2:v]scale=100:-1,setpts=PTS-STARTPTS[fg2]; [bg][fg1]overlay=70:70:shortest=1[ol];
[ol][fg2]overlay=300:70,format=yuv420p[v]" output.mp4
+add 1 video
./ffmpeg -loop 1 -i 2048.png -i input.mp4 -filter_complex "[0:v]scale=2048:480[bg];
[1:v]scale=800:-1[fg1]; [bg][fg1]overlay=(main_w-overlay_w)/2:(main_h-
overlay_h)/2:shortest=1" -t 00:04:30 output.mp4
ffmpeg -loop 1 -i bg.jpg -i 002.mp4 -filter_complex "[0:v]scale=1920:1080[bg];
[1:v]scale=1280:-1,setpts=PTS-STARTPTS[fg1]; [bg][fg1]overlay=(main_w-overlay_w)/2:
(main_h-overlay_h)/2:shortest=1" output.mp4
ffmpeg -i output.mp4 -vf "rotate=-PI/60" 002_rotate.mp4
ffmpeg -i 002_rotate.mp4 -filter:v "crop=1280:720:320:180" 001_upload.mkv
+ image + audio => video:
ffmpeg -loop 1 -y -i index.jpg -i output.mp3 -acodec copy -vf "scale=1280:720"
result.mp4
==> giam pass
./ffmpeg -i eng.mp3 -af "highpass=f=100, lowpass=f=1000" out.mp3
==>tang bitrate
./ffmpeg -i eng.mp3 -ab 320 outputfile.mp3
=> tang volume:
./ffmpeg -i noise.mp3 -af 'volume=0.5' -ab 320k noise-50.mp3
./ffmpeg -i noise.mp3 -af 'volume=50dB' -ab 128k noise-50.mp3
=> giam volume:
./ffmpeg -i noise.mp3 -af 'volume=-0.5' -ab 320k noise-50.mp3
./ffmpeg -i noise.mp3 -af 'volume=-50dB' -ab 128k noise-50.mp3
./ffmpeg -ss 00:00:45 -i stmpt.mp4 -t 00:04:50 -c:v libx264 -c:a aac -strict
experimental -b:a 128k out_upload.mp4
./ffmpeg -i out_split.mp4 -af "highpass=f=100, lowpass=f=1000" out_split_1.mp4
//nen hinh
./ffmpeg -i output_mix.mp4 -c:v libx264 -strict -2 -crf 45 -b:v 1M -c:a aac
output_compress.mp4
change pitch:
./ffmpeg -i out_split_add_frame.pm3 -f:a atempo=1.25 out.mp3
./ffmpeg -i output_compress.mp4 -strict -2 -filter:a "atempo=1.25,atempo=1.25"
out_ok.mp4
scale:
ffmpeg -loop 1 -i bg.png -i Input-001.mkv -filter_complex "[0:v]scale=1280:-2[bg];
[1:v]scale=645:-1,setpts=PTS-STARTPTS[fg1]; [bg][fg1]overlay=324:83:shortest=1"
output2mkv
streaming link m3u8:
./ffmpeg -i 'http://m3.xemtvhd.com/chn/vtv3/v.m3u8' -strict -2 -hls_list_size 0
-hls_time 10 -hls_segment_filename 'rs/file%03d.ts' rs/out.m3u8
./ffmpeg -i 'http://m3.xemtvhd.com/chn/vtv3/v.m3u8' -strict -2
'rs/vtv3_27052015.ts'
./ffmpeg -i 'http://m3.xemtvhd.com/chn/vtv1/v.m3u8' -strict -2
'rs/vtv1_28052015_09_00.ts'
streming theo thoi gian:
ffmpeg -i
"http://htqjrpsv.cdnviet.com/htjzzsg/_definst_/htv7.720p.stream/playlist.m3u8?
t=1bc15bdab7daf1070be66401f49df8df&e=1433210696" -strict -2 -t 00:05:00
"C:\ffmpeg\bin\rs\htv_01062015.mp4"
metadata
./ffmpeg -i Tom_And_Jerry_Diary_update.mp4 -metadata title="Tom & Jerry channel"
-metadata encoder="h264" -metadata artist="Tom & Jerry" -metadata album="Tom &
Jerry" Tom_And_Jerry_Diary.mp4
extract image:
./ffmpeg -i Tom_And_Jerry_Diary.mp4 -r 1 -f image2 image-%3d.jpeg
-r This is used to set the frame rate of video. i.e. no. of frames to be extracted
into images per second. The default value is 25, using which, would have yielded a
large number of images.
-f This option defines the format we want to force/use, although removing this
option shouldn't cause any problem.
image-%3d.jpeg By %3d, we mean that we want the naming of the image files to be of
the format "image-001.jpeg, image-002.jpeg.." and so on. If we had used image-%2d
the names would have been image-01.jpeg, image-02.jpeg. You can use any format as
per your choice.
chuyen m2t -> mkv
cach 1:
ffmpeg -i input.mt2s -scodec copy -acodec copy -vcodec copy -f matroska input.mkv
cach 2:
The easiest tool to use is mkvmerge, which is part of the mkvtoolnix package. To
convert your file:
sudo apt-get install mkvtoolnix
mkvmerge -o output.mkv input.m2ts
cach 3: https://handbrake.fr
Tao 4 video tren 1 man hinh nhu camera theo doi
https://trac.ffmpeg.org/wiki/Create%20a%20mosaic%20out%20of%20several%20input
%20videos
ffmpeg
-i 1.avi -i 2.avi -i 3.avi -i 4.avi
-filter_complex "
nullsrc=size=640x480 [base];
[0:v] setpts=PTS-STARTPTS, scale=320x240 [upperleft];
[1:v] setpts=PTS-STARTPTS, scale=320x240 [upperright];
[2:v] setpts=PTS-STARTPTS, scale=320x240 [lowerleft];
[3:v] setpts=PTS-STARTPTS, scale=320x240 [lowerright];
[base][upperleft] overlay=shortest=1 [tmp1];
[tmp1][upperright] overlay=shortest=1:x=320 [tmp2];
[tmp2][lowerleft] overlay=shortest=1:y=240 [tmp3];
[tmp3][lowerright] overlay=shortest=1:x=320:y=240
"
-c:v libx264 output.mkv
Delogo
ffmpeg -i 2.mp4 -vf delogo=x=0:y=1000:w=100:h=50:band=10 out.mp4
Stereo:
https://trac.ffmpeg.org/wiki/AudioChannelManipulation
+ Join file theo file dinh nghia san:
- ffmpeg -f concat -i join.txt -c copy outputmp4
- cau truc file:
# this is a comment
file 'bg_.mp4'
file 'bg_.mp4'
file 'bg_.mp4'
+ cho overlay ben tren co opacity
ffmpeg -y -i b.mkv -filter_complex "[0:v]scale=800:-1[v1];[0:v]scale=800:-
1,format=yuva420p,colorchannelmixer=aa=0.5[v2];[a]pan=stereo|c0<c0+0*c1|
c1<c0+0*c1,aeval=val(0)|-val(1)[audio];[v1][v2]overlay=100:100[video]" -vcodec
libx264 -pix_fmt yuv420p -r 30 -g 60 -b:v 2500k -acodec libmp3lame -b:a 128k -ar
44100 -preset ultrafast -map [video] -map [audio] out.mkv
=> thay set aa la opacity mong muon
ffmpeg -i input.mp4 -af "atempo=1.27,volume=1.6" -vf "hflip
,setpts=PTS/1.27,"crop=iw/2:ih/2",scale=1280:720,boxblur=1:1 [mv]; movie=90xanh.png
[f1]; [mv][f1]overlay=0:0" -vcodec libx264 -pix_fmt yuv420p -r 30 -g 60 -b:v 2500k
-acodec libmp3lame -b:a 128k -ar 44100 -preset ultrafast output.mp4
ffmpeg -i input.mp4 -af "atempo=1.27,volume=1.6" -vf "hflip
,setpts=PTS/1.27,scale=1280:720,"crop=iw/2:ih/2",boxblur=1:1 [mv];
movie=90xanh.png[opacity=50%];[mv][opacity=50%]overlay=0:0" -vcodec libx264
-pix_fmt yuv420p -r 30 -g 60 -b:v 2500k -acodec libmp3lame -b:a 128k -ar 44100
-preset ultrafast -preset ultrafast output.mp4
lach full:
ffmpeg -y -i a.mp4 -filter_complex "[0:v]scale=800:-1[v1];[0:v]scale=800:-
1,boxblur=10:6,format=yuva420p,colorchannelmixer=aa=0.15[v2];[a]pan=stereo|
c0<c0+0*c1|c1<c0+0*c1,aeval=val(0)|-val(1)[audio];[v1][v2]overlay=0:0[video]"
-vcodec libx264 -pix_fmt yuv420p -r 30 -g 60 -b:v 2500k -acodec libmp3lame -b:a
128k -ar 44100 -preset ultrafast -map [video] -map [audio] out.mkv
* lap lai 1 loat background image:
+ ffmpeg -i bg1.mp4 -f image2 bgs/image-%3d.png
+ ffmpeg -y -loop 1 -i bgs/image-%3d.png -i b.mp4 -r 29.97 -ab 128k -ar 48k -ac 2
-filter_complex "[0:v] scale=858:480[v0];[1:v]setpts=PTS/1.15,scale=541:302[v2];
[1:a]atempo=1.15,aecho=0.8:0.88:6:0.4[audio];[v0][v2]overlay=main_w-overlay_w - 11:
(main_h-overlay_h)/2+9:shortest=1[video]" -map "[video]" -map "[audio]" abc1.mkv
Flip video:
1. Flip video vertically:
ffmpeg -i INPUT -vf vflip -c:a copy OUTPUT
2. Flip video horizontally:
ffmpeg -i INPUT -vf hflip -c:a copy OUTPUT
3. Rotate 90 degrees clockwise:
ffmpeg -i INPUT -vf transpose=1 -c:a copy OUTPUT
4. Rotate 90 degrees counterclockwise:
ffmpeg -i INPUT -vf transpose=2 -c:a copy OUTPUT
//lach nhac nghe tren mobile luon:
ffmpeg -y -i one_pice.mp4 -vf "setpts=PTS/1.15,crop=in_w/5:in_h/5" -acodec
libmp3lame -ab 128k -ar 48k -ac 2 -af
"atempo=1.15,equalizer=f=32:width_type=o:width=1:g=-
5,equalizer=f=64:width_type=o:width=1:g=-5,equalizer=f=125:width_type=o:width=1:g=-
5,equalizer=f=250:width_type=o:width=1:g=-
5,equalizer=f=500:width_type=o:width=1:g=-
5,equalizer=f=1000:width_type=o:width=1:g=-
5,equalizer=f=2000:width_type=o:width=1:g=-
5,equalizer=f=4000:width_type=o:width=1:g=-
5,equalizer=f=8000:width_type=o:width=1:g=-
5,equalizer=f=16000:width_type=o:width=1:g=-5,aecho=0.8:0.88:6:0.4,pan=1c|
c0=0.9*c0+0.1*c1,pan=stereo|FL<FL+0.5*FC+0.6*BL+0.6*SL|FR<FR+0.5*FC+0.6*BR+0.6*SR"
-vcodec libx264 -pix_fmt yuv420p -r 29 -g 60 -b:v 2500k -preset ultrafast out.mkv
ffmpeg -y -i wmyb.mp4 -vf "setpts=PTS/1.13,crop=300:100" -af
"atempo=1.13,equalizer=f=250:width_type=o:width=1:g=-
5,equalizer=f=500:width_type=o:width=1:g=-
5,equalizer=f=1000:width_type=o:width=1:g=-
5,equalizer=f=2000:width_type=o:width=1:g=-
5,equalizer=f=4000:width_type=o:width=1:g=-
5,equalizer=f=8000:width_type=o:width=1:g=-
5,equalizer=f=16000:width_type=o:width=1:g=-5,aecho=0.8:0.88:6:0.4,pan=stereo|
c0=c0|c1=-1*c1,aeval='-val(0)':c=same,volume=1.5" wm.mkv
ffmpeg -y -i wmyb.mp4 -af
"highpass=f=200,lowpass=f=3500,atempo=1.15,equalizer=f=400:width_type=o:width=2:g=5
,equalizer=f=999:width_type=h:width=220:g=-12,compand=.3|.3:1|1:-90/-60|-60/-40|-
40/-30|-20/-20:6:0:-90:0.2,aecho=0.8:0.8:12:0.4,pan=stereo|c0=c0|c1=-1*c1,aeval='-
val(0)':c=same,volume=1.5" -preset ultrafast a.mp3
//lach background hinh dong
https://www.youtube.com/c/hongthuonghd/videos
ffmpeg -i bg1.mp4 -vf "scale=1280:720" -f image2 bgs/image-%3d.png
//(main_w-overlay_w)/2:(main_h-overlay_h)-10
ffmpeg -y -loop 1 -i bgs/image-%3d.png -i one_pice.mp4 -r 29.97 -ab 128k -ar 48k
-ac 2 -filter_complex "[0:v] scale=1280:720[v0];
[1:v]setpts=PTS/1.15,scale=896:504[v2];
[1:a]atempo=1.15,aecho=0.8:0.88:6:0.4,pan=1c|c0=0.9*c0+0.1*c1[audio];[v0]
[v2]overlay=10:(main_h-overlay_h)-10:shortest=1[video]" -map "[video]" -map
"[audio]" -b:v 1000k -t 00:14:00 -preset ultrafast out.mkv
ffmpeg -i 000001.mp4 -vf scale=1280:720,setdar=16:9 -r 29.97 -b:v 44100K -ab 128k
-ar 44100 -ac 2 out.avi
//nối 2 file hình vào đầu và đuôi của videoffmpeg -i "OSSSO Fusion Musical
Experience - The Concert on July 14, Russia!.mp4" -r 24 -b:v 4000k -vf
scale=1920:1080 -threads 3 -t 01:23:05 out1.avi
ffmpeg -y -loop 1 -i 1.jpg -i audio.mp3 -r 24 -b:v 4000k -t 00:00:05 1.avi
ffmpeg -y -loop 1 -i 2.jpg audio.mp3 -r 24 -b:v 4000k -t 00:00:05 2.avi
ffmpeg -f concat -i mylist.txt -c:v copy c:a copy final.avi
Vẽ sóng âm cho âm thanh:
ffmpeg -y -i nguoi_kien.mp3 -loop 1 -i overlay.png -r 21.5784 -ac 2 -filter_complex
"[0:a]volume=2,asetrate=r=48000*(21.5784/23.976),atempo=23.976/21.5784,aecho=0.3:0.
48:6:0.4,highpass=f=200,equalizer=f=222:width_type=o:width=2:g=5,equalizer=f=444:wi
dth_type=h:width=220:g=-10,compand=.3|.3:1|1:-90/-60|-60/-40|-40/-30|-20/-20:6:0:-
90:0.2,compand=attacks=0:points=-80/-80|-12.4/-12.4|-6/-8|0/-6.8|20/-
2.8,aecho=0.3:0.48:5:0.4,aresample=async=50,volume=25dB,bs2b=profile=jmeier,allpass
=f=950,treble=g=10,bandpass=f=2500:csg=1,earwax,aemphasis,tremolo=d=0.5,acompressor
=threshold=0.0135:ratio=20:attack=200:release=1000:makeup=3:mix=1,volume=2,volume=2
,aresample=10100,pan=stereo|c0<c0+c1|
c1<c1+c0,showwaves=s=1280x720:mode=line,colorkey=0x000000:0.01:0.1,format=yuva420p[
v];[1:v]scale=480:360[v1];[v1][v]overlay[outv]" -map "[outv]" -pix_fmt yuv420p -map
0:a -c:v libx264 -c:a copy -shortest -preset ultrafast nguoi_kien.mp4
***join mp3 lai voi nhau:
ffmpeg -i concat:"out1.mp3|out2.mp3" -acodec copy yo.mp3
***lay nhieu thumbnail tren 1 tam hinh
http://askubuntu.com/questions/377579/ffmpeg-output-screenshot-gallery
ffmpeg -y -i "23La Bella e la Bestia (1991).mp4" -vf
"select=gt(scene\,0.4),scale=160:-1,tile" -frames:v 1 -qscale:v 3 preview.jpg
****red green blue
https://trac.ffmpeg.org/wiki/FancyFilteringExamples
*convert avi chuan:
ffmpeg -y -ss 00:00:00 -i "a.mp4" -t 00:05:00 -vcodec libx264 -pix_fmt yuv420p -r
30 -g 60 -b:v 2500k -acodec libmp3lame -b:a 128k -ar 44100 -preset ultrafast
out.avi
* Meta title:
ffmpeg.exe -y -i wmyb.mp4 -vf "scale=858:480,eq=gamma_r=6:gamma_g=8:gamma_b=10"
-metadata title="" -metadata artist="" -metadata album_artist="" -metadata album=""
-metadata date="" -metadata track="" -metadata genre="" -metadata publisher=""
-metadata encoded_by="" -metadata copyright="" -metadata composer="" -metadata
performer="" -metadata TIT1="" -metadata TIT3="" -metadata disc="" -metadata
TKEY="" -metadata TBPM="" -metadata language="eng" -metadata encoder="" -an -preset
ultrafast out_rbg6810.mkv
cach lach zoom, chua test:
Bước 1: Thu nhỏ video chính lại còn 1/2 hoặc 1/3 hoặc 1/4, sử dụng 1 video nền
động phía sau để vượt qua bộ quét frame hình của thuật toán Youtube
Bước 2: Từ video xuất ra tiến hành zoom gần, phóng to dần video cho tới khi khung
hình của video nhỏ khớp với khung hình của toàn video
==> Vậy là ta sẽ được 1 video full màn hình (mất vài chục giây đầu video sẽ ko
full màn do chưa zoom xong hết)
ffmpeg -i bground.mp4 -i input.mp4 -filter_complex "nullsrc=size=1280x720 [vmain];
[0:v] setpts=PTS-STARTPTS, scale=1280:720 [vback]; [1:v] setpts=PTS-STARTPTS,
scale=640:468 [video]; [vmain][vback] overlay=shortest=1 [vid]; [vid][video]
overlay=shortest=0:x=320:y=180" -vcodec libx264 -profile:v high -level 4.0 -coder 1
-refs 3 -preset ultrafast -b:v 2932k -minrate 2932k -maxrate 2932k -bufsize 0k -an
outinput.mp4
ffmpeg -i outinput.mp4 -vf "zoompan=z='min(max(zoom,pzoom)+0.0015,2)':d=1:x='iw/2-
(iw/zoom/2)':y='ih/2-(ih/zoom/2)'" -vcodec libx264 -pix_fmt yuv420p -r 30 -g 60
-b:v 2932k -c:a copy -metadata title="" -metadata artist="" -metadata
album_artist="" -metadata album="" -metadata date="" -metadata track="" -metadata
genre="" -metadata publisher="" -metadata encoded_by="" -metadata copyright=""
-metadata composer="" -metadata performer="" -metadata TIT1="" -metadata TIT3=""
-metadata disc="" -metadata TKEY="" -metadata TBPM="" -metadata language="eng"
-metadata encoder="" -preset superfast output.mp4