Hello,
This is my first attempt at 1) creating a fake video with a still picture and no audio, and 2) append a full video to it.
The full video looks like this, after further compressing the big input file:
To create the "still picture video", I tried this:Code:ffmpeg -i big.mp4 -b:v 300k -vf scale=720:-1 -c:v libx264 -pix_fmt yuv420p -c:a aac -q:a 1 -ac 2 -ar 44100 -threads 2 -f mp4 02.full.video.mp4 ffprobe -i 02.full.video.mp4 Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 720x540 [SAR 4:3 DAR 16:9], 300 kb/s, 50 fps, 50 tbr, 12800 tbn, 100 tbc (default) Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 93 kb/s (default)
FWIW, the still picture as input is 720 x 540 pixels, 24 BPP, 96 x 96 DPI.Code:ffmpeg -loop 1 -i still.png -vf scale=720:540,setdar=16:9 -b:v 300k -r 50 -c:v libx264 -t 10 -pix_fmt yuv420p -c:a aac -q:a 1 -ac 2 -ar 44100 -threads 2 -f mp4 01.still.mp4
To join the two files, I used:
In the output, there's no audio, and the video is horizontally stretched.Code:(for %i in (*.mp4) do @echo file '%i') > input.txt ffmpeg -safe 0 -f concat -i input.txt -c copy merged.aud.vid.mp4
Would someone have a working example I could try?
Thank you.
Try StreamFab Downloader and download from Netflix, Amazon, Youtube! Or Try DVDFab and copy Blu-rays! or rip iTunes movies!
+ Reply to Thread
Results 1 to 3 of 3
Thread
-
-
Don't know if this can be done as intended with ffmpeg alone, but if the original video is going to be re-compressed anyway, it might be more reliable to do this with Avisynth, although I'm not sure exactly how to do this. In particular, I'm not sure how to import a still picture as a clip with silent audio. I would try something like this :
Code:big = FFmpegSource2("big.mp4").LanczosResize(720,540) # other source filters may be more suitable, this one has the advantage of loading the video and audio streams in a single line which simplifies the script still = ImageSource("still.png", pixel_type=YV12, fps=50, end=500) # should load the still picture as a 10 seconds / 50FPS video clip blank = BlankClip(fps=50, length=500, channels=2) # should create a blank clip with silent stereo audio, 10 seconds at 50FPS (with the default 44100Hz sample rate) stillaudio = AudioDub(still, blank) # should merge the still picture clip with silent audio / you could add a fade-in effect here, with for instance “.FadeIn(25)” big ++ stillaudio # should append the still picture clip to the “big” video clip / for this to work the clips must have matching parameters, there will be a warning otherwise
Code:ffmpeg -i "big plus still.avs" -vf scale=720:540,setdar=16:9 -c:v libx264 -b:v 300k -c:a aac -q:a 1 -threads 2 "big plus still.mp4"
Similar Threads
-
How to create video thumbnail using ffmpeg?
By iKron in forum Newbie / General discussionsReplies: 8Last Post: 28th Jul 2021, 05:01 -
Right way to join two different video files using ffmpeg?
By yetanotherlogin in forum EditingReplies: 15Last Post: 25th Jun 2021, 03:25 -
Create background sound for video with ffmpeg
By qo4on in forum EditingReplies: 3Last Post: 26th Nov 2020, 13:50 -
Video overlay/picture in picture in ffmpeg
By ardeegee in forum EditingReplies: 4Last Post: 19th Feb 2020, 11:18 -
FFMPEG HACK: FULL HW transcoding in the video memory
By Cumberiron in forum Video ConversionReplies: 0Last Post: 31st May 2019, 14:56