- 오디오
- .wav : ...
- .m4a : ...
- .aac : ...
- .mp3 : ...
- 비디오
- .avi : ...
- .mp4 : ...
- .mkv : ...
- .webm : ...
- .mov : ...
- .ts : ...
- 오디오 비디오 결합 과정에서... 틀어짐?
- https://linuxpip.org/ffmpeg-combine-audio-video
- 문제점?
- mp4 (25fps) + wav (44100Hz) + ... (여러게) ...
- wav -> m4a 변환 되면서~ 어긋날수있을까?
- 비교
- mkv
- ffmpeg -y -i 0.wav -i 0.mp4 -c copy 0.mkv ...
- ffmpeg -y -f concat -safe 0 -i mkv.txt -c copy combine.mkv
- mp4
- ffmpeg -y -i 0.wav -ar 44100 -sample_fmt fltp -ac 2 -c:a aac 0.m4a ...
- ffmpeg -y -i 0.m4a -i 0.mp4 -c copy 0.mp4 ...
- ffmpeg -y -f concat -safe 0 -i mp4.txt -c copy combine.mp4
- mkv
- 결론은?
- ...
- https://linuxpip.org/ffmpeg-combine-audio-video
- .gif -> .webm (for web video)
- https://sidneyliebrand.io/blog/converting-gif-to-web-safe-video-formats-using-ffmpeg
- ffmpeg -i woman.gif -movflags +faststart -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" woman.mp4
- .mp4 -{transparency}-> .webm
- ffmpeg -y -i man.mp4 -c:v libvpx -vf "colorkey=0x0c8039:0.06:0.02,format=yuva420p" -auto-alt-ref 0 -t 10 man.webm
- Resolving "auto_alt_ref error" : https://stackoverflow.com/questions/34678964/convert-mp4-to-webm-with-transparency
- .png -{transparency}-> .webm
- ffmpeg -y -framerate 30 -f image2 -i frames/%04d.png -c:v libvpx-vp9 -b:v 2M -pix_fmt yuva420p -deadline realtime 0.webm
- ffmpeg -y -framerate 30 -f image2 -i frames/%04d.png -c:v libvpx-vp9 -b:v 2M -pass 2 -threads 8 -speed 1 -f webm 0.webm
- (-tile-columns 6 -frame-parallel 1 -auto-alt-ref 1 -lag-in-frames 25 -f webm 0.webm)
- NVIDIA 그래픽카드 가속?
ffmpeg -y -vsync 0 -hwaccel cuvid -framerate 30 -f image2 -i frames/%04d.png -c:v libvpx-vp9 -pix_fmt yuva420p 0.webm- GPU 에 따라 지원되는 Enc/Dec
- https://developer.nvidia.com/video-encode-and-decode-gpu-support-matrix-new
- 결론? 디코딩은 VP9 등등 여러가지 지원 되는거 같은데~ 인코딩은 .264 .265 위주만 되는거 같음...
- Mac M1 그래픽카드 가속?
- ffmpeg -h encoder=h264_videotoolbox
- ffmpeg -h encoder=hevc_videotoolbox
ffmpeg -y -hwaccel videotoolbox -framerate 30 -f image2 -i frames/%04d.png -c:v libvpx-vp9 -pix_fmt yuva420p 0.webm
- https://trac.ffmpeg.org/wiki/HWAccelIntro
- NVENC 및 NVDEC/CUVID : ...
- VideoToolbox : ...
- 결론, VP9 하드웨어 가속 인코더는 없다!
- .png -{transparency}-> .mov (HEVC with Alpha)
- 투명한 동영상 포맷을 .webm 뿐인것 인가? -> ㄴㄴ -> https://developer.apple.com/videos/play/wwdc2019/506
- HEVC-Video-with-Alpha-Interoperability-Profile
- ffmpeg -y -c:v libvpx-vp9 -i frames.webm -c:v hevc_videotoolbox -require_sw 0 -allow_sw 0 -alpha_quality 1 -vtag hvc1 -pix_fmt bgra -movflags +faststart 0.mov
- ffmpeg -y -framerate 30 -i frames/%04d.png -c:v hevc_videotoolbox -require_sw 0 -allow_sw 0 -alpha_quality 1 -vtag hvc1 -pix_fmt bgra 0.mov
- ffmpeg 오버레이 테스트 -> 안됨(X), but HTML 테스트 -> 됨(O)
- ffmpeg -y -f lavfi -t 10 -i color=c=0xffcc00:s=1920x1080 -vtag hvc1 -i 0.mov
- -filter_complex "[0][1] overlay=shortest=1:x='(main_w/2-overlay_w/2)':y='(main_h-overlay_h)' [out]"
- -map "[out]" -r 25 -pix_fmt yuv420p -crf 18 -preset fast -c:v libx264 0.mp4
- ;
- ffmpeg -y -i 0.mp4 -i 0.mov -filter_complex "[0][1] overlay=shortest=1:x='0':y='0' [out]"
- -map "[out]" -r 25 -pix_fmt yuv420p -crf 18 -preset fast -c:v libx264 00.mp4
- ;
- https://stackoverflow.com/questions/61661140/convert-webm-to-hevc-with-alpha
- https://trac.ffmpeg.org/ticket/7965
- https://trac.ffmpeg.org/ticket/9088
- HEVC with Alpha 이슈
- Chromium 에서 디코딩 안됨. (코덱 라이센스)
- https://github.com/StaZhu/enable-chromium-hevc-hardware-decoding (무설치용 바이너리 빌드 어떻게 ???)
- https://github.com/remotion-dev/lambda-binaries (무설치용 바이너리 빌드 좋은예 !!!)
- h.264 까지만 지원
- h.256 는 특별한 <tag> 가 지원되어~ 내부 로컬서버로 무조건 다 디코딩 해버리는식 ㅎㄷㄷ
- Thorium 에선 속도도 빠르고, 디코딩도 되는데~
- https://github.com/Alex313031/thorium (AWS ARM64 환경의 바이너리가 제공 될지 ...)
- Chromium 에서 디코딩 안됨. (코덱 라이센스)
- .mov (HEVC with Alpha) -{transparency}-> .webm
- https://rotato.app/blog/transparent-videos-for-the-web
- https://learnandcreate.tistory.com/1596
- https://kitcross.net/hevc-web-video-alpha-channel/
- https://www.youtube.com/watch?v=zBTev5LtSMU
- https://www.youtube.com/watch?v=A__Kg1mDTwk
- ... 많은 예시들이 있는데... 왜 안될까? (OS 탓인가?)
- 크로마키 여러게 적용가능 ???
- ffmpeg -y -f lavfi -t 10 -i color=c=0xffcc99:s=1080x1920 -i FHD.mp4 -filter_complex "
- [1:v] chromakey=0x00521b:0.04:0.001 [real0];
- [0][real0] overlay=shortest=1:x=0:y=0 [out0];
- [out0] chromakey=0x367148:0.06:0.02 [real1];
- [0][real1] overlay=shortest=1:x=0:y=0 [out1]"
- -map "[out1]" -r 30 -pix_fmt yuv420p -crf 18 -preset superfast -c:v libx264 CK.mp4
- 이런 식으로는 안됨... "필터에 -> 재필터" 할 수 있는 방법은 없을깡???
- ffmpeg -y -f lavfi -t 10 -i color=c=0xffcc99:s=1080x1920 -i FHD.mp4 -filter_complex "
- ...
-끝-
'멀티미디어' 카테고리의 다른 글
ffmpeg2 (0) | 2023.06.27 |
---|---|
Text, Image, Audio, Video, ... (1) | 2021.07.21 |
だめだね だめよ だめなのよ 딥페이크 (0) | 2021.03.27 |
3D 아바타 blendshape coefficient 데이터 (0) | 2021.03.27 |
ffmpeg1 (0) | 2020.11.23 |