• 오디오
    • .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
    • 결론은?
      • ...
  • .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 환경의 바이너리가 제공 될지 ...)
  • .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
    • 이런 식으로는 안됨... "필터에 -> 재필터" 할 수 있는 방법은 없을깡???
  • ...

-끝-

'멀티미디어' 카테고리의 다른 글

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

+ Recent posts