Я пытаюсь сделать слайд-шоу с помощью ffmpeg, которое должно содержать видео и изображения. Поскольку, насколько я знаю, ffmpeg не может сделать это за один шаг (что, конечно, было бы предпочтительным шагом), я разбиваю его, чтобы сделать слайд-шоу некоторых изображений и объединить полученное видео с другим видео.
Проблема в том, что при создании слайд-шоу с помощью ffmpeg (как описано здесь: https://trac.ffmpeg.org/wiki/Slideshow) частота кадров регулируется, чтобы можно было просматривать одно изображение в течение более длительного времени.
Теперь у меня есть несколько видео с различными частотами кадров для объединения, что не очень хорошо (у меня это не получилось).
Я также попытался сделать слайд-шоу с более высокой частотой кадров (с -vf fps=25
) но у меня это не получилось.
(так как у меня есть изображения из разных мест / не все образы текущего каталога должны быть объединены сразу, мне действительно нужно использовать демультиплексор concat (насколько я знаю))
Кто-нибудь знает, как это сделать правильно?
Что я уже пробовал:
ffmpeg -safe 0 -f concat -i tmp -vsync vfr -pix_fmt yuv420p -vf fps=25 output.mkv
с файлом tmp, похожим на это :( видеть ссылка выше для справки)
file /path/to/file1.JPG
duration 2
file /path/to/file2.JPG
duration 2
file /path/to/file2.JPG
Это дает мне видео, которое каким-то образом только первое изображение.
ffmpeg -safe 0 -f concat -i tmp -vsync vfr -pix_fmt yuv420p output.mkv
с файлом tmp, похожим на это: (см. ссылка выше для справки)
file /path/to/file1.JPG
duration 2
file /path/to/file2.JPG
duration 2
file /path/to/file2.JPG
Это дает мне файл, который показывает все изображения с правильной скоростью (все до настоящего времени), но я не могу объединить его с подходящим видео (25fps) с ffmpeg -safe 0 -f concat -i <(printf "file ${PWD}/%s\n" "output.mkv" "video.mp4") -c copy out.mkv
РЕДАКТИРОВАТЬ: Основная проблема заключается в объединении этих двух файлов:
$ mediainfo video2.MTS
General
ID : 1 (0x1)
Complete name : video2.MTS
Format : MPEG-TS
File size : 8.95 MiB
Duration : 8 s 240 ms
Overall bit rate mode : Variable
Overall bit rate : 9 024 kb/s
FileExtension_Invalid : ts m2t m2s m4t m4s tmf ts tp trp ty
Video
ID : 256 (0x100)
Menu ID : 1 (0x1)
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4
Format settings : CABAC / 4 Ref Frames
Format settings, CABAC : Yes
Format settings, Reference frames : 4 frames
Codec ID : 27
Duration : 8 s 320 ms
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Variable
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Writing library : x264 core 159 r2991 1771b55
Encoding settings : cabac=1 / ref=3 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=7 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=12 / lookahead_threads=2 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=crf / mbtree=1 / crf=23.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
Audio
ID : 257 (0x101)
Menu ID : 1 (0x1)
Format : AAC LC
Format/Info : Advanced Audio Codec Low Complexity
Format version : Version 4
Muxing mode : ADTS
Codec ID : 15-2
Duration : 8 s 192 ms
Bit rate mode : Variable
Channel(s) : 2 channels
Channel layout : L R
Sampling rate : 48.0 kHz
Frame rate : 46.875 FPS (1024 SPF)
Compression mode : Lossy
Delay relative to video : -21 ms
Menu
ID : 4096 (0x1000)
Menu ID : 1 (0x1)
Duration : 8 s 240 ms
List : 256 (0x100) (AVC) / 257 (0x101) (AAC)
Service name : Service01
Service provider : FFmpeg
Service type : digital television
и
$ mediainfo output.mkv
General
Unique ID : 28406040384100140874396026026809692875 (0x155ECDEBB2C5FEFE07B31D86D8B512CB)
Complete name : output.mkv
Format : Matroska
Format version : Version 4
File size : 10.2 MiB
Duration : 6 s 83 ms
Overall bit rate : 14.0 Mb/s
Writing application : Lavf58.29.100
Writing library : Lavf58.29.100
ErrorDetectionType : Per level 1
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L6
Format settings : CABAC / 4 Ref Frames
Format settings, CABAC : Yes
Format settings, Reference frames : 4 frames
Codec ID : V_MPEG4/ISO/AVC
Duration : 6 s 63 ms
Width : 5 184 pixels
Height : 3 888 pixels
Display aspect ratio : 4:3
Frame rate mode : Variable
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Writing library : x264 core 159 r2991 1771b55
Encoding settings : cabac=1 / ref=3 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=7 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=12 / lookahead_threads=2 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=crf / mbtree=1 / crf=23.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
Default : Yes
Forced : No
Audio
ID : 2
Format : AAC LC
Format/Info : Advanced Audio Codec Low Complexity
Codec ID : A_AAC-2
Duration : 6 s 83 ms
Channel(s) : 2 channels
Channel layout : L R
Sampling rate : 44.1 kHz
Frame rate : 43.066 FPS (1024 SPF)
Compression mode : Lossy
Writing library : Lavc58.54.100 aac
Default : Yes
Forced : No