I spent one full day on ffmpeg
line commands by searching a lot on google but could not achieve what I wanted to and therefore I came here to seek some advice.
I have a video testinput.mpg
which I believe is a mpeg-2
video. It is of 720x576
dimensions having 25 fps
and a total bitrate of 4224 kbps
First problem is that the exported footage is flickering which I wasn't able to remove using ffmpeg with lots of commands I tried like adjusting brightness, contrast, hue, saturation and all.
Second problem was to extract the center portion which I was able to do it with the crop feature using following command.
ffmpeg -i testinput.mpg -filter:v "crop=468:374" testoutput.mpg
But after cropping I observed that that bitrate fell from 4224 kbps
to 761 kbps
and I assume this has reduced the quality of video.
What I want to achieve is:
acodec copy
vcodec copy
) -> ffmpeg did not allow me to do both the things together (cropping and having same codec)I request some help on how to achieve the desired result. Can someone shed some light on it?
Here are 10 seconds sample videos on google drive that I am working on
Thanks
Try de-interlacing with the yadif filter. Command for uploading to YouTube:
ffmpeg -i input.mpg -filter:v "yadif,crop=468:374" -c:v libx265 -crf 23 -c:a copy output.mkv
It is not possible to filter and stream copy (-c:v copy
) the video at the same time. But because the audio is not filtered it can be copied (-c:a copy
).
Avoid upscaling. Upscaling is not going to make it have a higher quality. It is not possible to give it higher quality going from small size to big size. It is like magnifying a JPG beyond 1x. It looks bad. Upscaling is doing the same thing because the information is not there to make it look better at a bigger size.