Carl Eugen Hoyos <[email protected]> writes: >> Am 05.04.2021 um 01:48 schrieb Cecil Westerhof via ffmpeg-user >> <[email protected]>: >> >> I have to cut out a part of a video, crop it and blackout two parts. >> I do this with: >> ffmpeg -y \ >> -ss 00:19:49 \ >> -i 2021-03-25ToastmastersClubAvond.mp4 \ >> -to 442 \ >> -vf " >> crop = 1440:1080:240:0 >> , >> drawbox=enable='between(t, 0, 2)' : >> color = black : >> w = in_w : >> h = in_h : >> thickness = fill >> , >> drawbox=enable='between(t, 339, 342)' : >> color = black : >> w = in_w : >> h = in_h : >> thickness = fill >> " \ >> -acodec copy \ >> -vcodec libx264 \ >> -crf 23 \ >> speechClean2.mp4 >> >> The reason I do -to in the output is that in this way the metadata >> concerning the video length is less out of whack. >> >> I was wondering if this is a good way, or that it could be done >> better? > >> Also, beside the timestamps the parameters for drawbox are the same. >> Is there a way that I do not have to repeat them? > > I suspect there is an „Or“ parameter for „enable“. > >> >> I started the crf with 16, then 20 and lastly 23. >> >> The input file has: >> Stream #0:1(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, >> 1920x1080, 2070 kb/s, 25 fps, 25 tbr, 30k tbn, 60k tbc (default) >> >> With crf 16 I get: >> Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, >> 1440x1080, 5541 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default) >> >> With crf 20 I get: >> Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, >> 1440x1080, 3538 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default) >> >> And with crf 23 I get: >> Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, >> 1440x1080, 2444 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default) >> >> So to me it seems that the crf value is still to high. > > You mean still too low?
Yes, bitrate is to high, so the crf value is to low. Silly me. ;-) >> Is there a way >> to use the kb/s to calculate the crf value to use? > > There is a fundamental misunderstanding: > You decide how much quality you want to preserve, x264 decides how much > bitrate is needed to reach that quality. (This is true for the general > case where you want to control the output quality and are therefore > using the crf option.) > If you really have bitrate constraints, use two-pass encoding > instead of the crf option. I do not really have a bitrate constraint, but I would think a higher bitrate as the input bitrate would be a waste. Because the crop removes about a quarter I would think that a bitrate higher as 1500 would be a waste. > I suspect the reason for the high bitrate of the output file is the low > quality of the input file but this is not really relevant, just a > (possible) explanation. One (unlikely) alternative is that your original > h264 encoder is much better than x264. That is what I mean: if the quality of the input is low, then there is no use for going for a high(er) quality for the output. -- Cecil Westerhof Senior Software Engineer LinkedIn: http://www.linkedin.com/in/cecilwesterhof _______________________________________________ ffmpeg-user mailing list [email protected] https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email [email protected] with subject "unsubscribe".
