1080p로 가져와야하는 MP4 형식의 4K 3840x2160 영상이 있습니다. 나는 달리기를 시도했다
ffmpeg -i orig.mp4 -vf scale=1920:1080 smaller.mp4
그러나 결과는 4 : 1으로 확대하는 것처럼 전체 이미지가 정사각형 "타일"로 구성되어 품질이 매우 떨어집니다.
이 명령을 실행 한 결과는 다음과 같습니다.
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'origs/P1000003.MP4':
Metadata:
major_brand : mp42
minor_version : 1
compatible_brands: mp42avc1
creation_time : 2015-02-19 17:10:38
Duration: 00:05:14.48, start: 0.000000, bitrate: 95903 kb/s
Stream #0.0(und): Video: h264 (High), yuvj420p, 3840x2160 [PAR 1:1 DAR 16:9], 95792 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
Metadata:
creation_time : 2015-02-19 17:10:38
Stream #0.1(und): Audio: aac, 48000 Hz, stereo, s16, 125 kb/s
Metadata:
creation_time : 2015-02-19 17:10:38
Incompatible pixel format 'yuvj420p' for codec 'mpeg4', auto-selecting format 'yuv420p'
[buffer @ 0x22a3420] w:3840 h:2160 pixfmt:yuvj420p
[scale @ 0x22a3ce0] w:3840 h:2160 fmt:yuvj420p -> w:1920 h:1080 fmt:yuv420p flags:0x4
Output #0, mp4, to '1-short.mp4':
Metadata:
major_brand : mp42
minor_version : 1
compatible_brands: mp42avc1
creation_time : 2015-02-19 17:10:38
encoder : Lavf53.21.1
Stream #0.0(und): Video: mpeg4, yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 25 tbn, 25 tbc
Metadata:
creation_time : 2015-02-19 17:10:38
Stream #0.1(und): Audio: libvo_aacenc, 48000 Hz, stereo, s16, 200 kb/s
Metadata:
creation_time : 2015-02-19 17:10:38
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
Press ctrl-c to stop encoding
frame= 125 fps= 6 q=31.0 Lsize= 968kB time=5.00 bitrate=1586.7kbits/s
video:842kB audio:123kB global headers:0kB muxing overhead 0.421047%
나는 ffmpeg가 훌륭한 도구라는 것을 경험을 통해 알고 있기 때문에 어떻게 든 옵션 / 매개 변수를 조여야합니다 ...
어떻게해야합니까?
@LordNeckbeard 방금 콘솔 출력을 추가했습니다. 이 클립을 나와 함께 작업하는 사람들과 더 쉽게 공유 할 수 있도록 축소하고 싶습니다.
—
라라 마이클스
-c:a copy
오디오 스트림을 원하지 않거나 다시 인코딩 할 필요가 없으므로 잊지 마십시오 . -map 0
챕터 메타 데이터 또는 기타 내용을 복사하는 데 사용 합니다. (ffmpeg는 기본적으로 1 vid + 1 aud 만 사용합니다.)
또한
—
Peter Cordes
-sws_flags lanczos+print_info
기본값보다 더 나은 스케일링 알고리즘을 사용할 것입니다 (생각하는 이중 선형). stlb의 답변은 프로세스의 비디오 인코딩 부분을 다룹니다.
@PeterCordes 또는
—
llogan
scale=1920:-2:flags=lanczos
. 나는 또한 -2
존재하지 않는 대답에서 규모에 대해 언급하려고했습니다 . 당신은 넣을 수 있습니다 모르는 사람들을 위해 -2
너비 또는 높이 및 가로 세로 비율을 유지하면서 자동으로 올바른 값을 제공 하고 (yuv420p 출력을 위해 libx264에 필요한) 2에 의해 값 나눌 만들기.
-t 10
하면 10 초 출력을 추가 할 수 있습니다. 왜 다운 스케일을 원하십니까? 스케일링 된 출력의 사용 사례는 무엇입니까? 이 정보는보다 정확한 답변을 제공하는 데 도움이됩니다.