설명되어 있습니다 here 어떻게 동영상에 srt 파일을 굽기. 그러나 텍스트를보다 쉽게 읽을 수 있도록 반투명 배경을 자막에 넣고 싶습니다. 어떻게해야합니까?ffmpeg에서 자막을 배경으로 설정하는 방법은 무엇입니까?
답변
투명 상자와 알파 채널을 사용하여 원하는 크기로 png를 만듭니다. 예 : 김프 또는 포토샵.
는이 명령을 사용 10:10 왼쪽 상단 모서리까지의 거리이다
ffmpeg -i video.mp4 -i logo.png -filter_complex "[0:v][1:v]overlay=10:10" \
-codec:a copy out.mp4
.
그 후 자막을 삽입 할 수 있습니다.
ASS 자막은 텍스트의 반투명 배경을 가질 수 있습니다. 이 작업을 수행하는 aegisub
가장 쉬운 방법으로
는 aegisub 함께.
Subtitle
→Styles manager
을 클릭하십시오.Current Script
에서Default
을 선택한 다음Edit
버튼을 누르십시오.Outline
및Shadow
값으로 실험하십시오.Opaque box
을 확인하십시오.Colors
에서Outline
또는Shadows
아래의 색을 클릭하십시오. 창이 열립니다. 투명도를 변경하려면Alpha
상자의 값을 조정하십시오.- 자막을
.ass
파일로 저장하십시오.
이제 AAS 파일을 사용하여 hardsubs or softsubs with ffmpeg
으로 만들 수 있습니다. aegisub
없이
는당신은 당신이 force_style
옵션과 함께 투명한 배경을 추가 할 subtitles filter을 사용할 수 있습니다 hardsubs을합니다. 필터가 자동으로 ASS로 변환하기 때문에
ffmpeg -i input -filter_complex "subtitles=subs.ass:force_style='OutlineColour=&H80000000,BorderStyle=3,Outline=1,Shadow=0,MarginV=20'" output
이는 FFmpeg에서 지원하는 모든 텍스트 기반의 자막과 함께 작동합니다.
서식 옵션에 대해서는 SubStation Alpha (ASS) style fields을 참조하십시오.여러 줄
자막 인해 긴 줄의 자동 포장 또는 의도적 인 줄 바꿈의 배경이 겹쳐 잠재적 추한 모양에 여러 줄이 포함 된 경우
문제 아래와 같이
다음과 같은 방법으로이 문제를 방지 할 수:
Outline
및Shadow
크기를0
으로 변경하십시오.- 그림자의 알파 설정은 배경 상자의 투명도를 제어합니다. 음영 색을 클릭하여 음영 색의
Alpha
을 원하는 투명도 수준으로 조정하십시오. 텍스트 편집기에서 ASS 파일을 편집하십시오.
Style
줄에서BorderStyle
에 해당하는 값을4
으로 변경하십시오. 각 자막 이벤트의 테두리 상자 배경을 채 웁니다. 예Style
라인 :Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H80000000,&H80000000,-1,0,0,0,100,100,0,0,4,0,0,2,10,10,10,1
예 : 그것은 모든 플레이어에서 제대로 작동되지 않을 수도 있습니다 BorderStyle=4
이, 비표준 값입니다
참고. BorderStyle
제안을 sup 및 WM4-
감사합니다.
drawbox filter drawbox
를 사용는 배경 상자를 만드는 데 사용할 수 있습니다. 상자가 너비에 걸쳐 있도록하려는 경우 유용 할 수 있습니다.
ffmpeg -i input -filter_complex "drawbox=w=iw:h=24:y=ih-28:t=max:[email protected],subtitles=subs.ass" output
단점은 줄 바꿈 또는 긴 자막 줄 바꿈을 설명해야한다는 것입니다. 상자를 키 크게하면 보상이되지만, 자막 기준선이 고정되어 있기 때문에보기 흉하게 보일 것입니다. 한 줄 자막은 맨 아래에 더 많은 패딩을 갖습니다.
두 줄짜리 자막이있는 경우이 줄이 더러워집니다. 그것을 제거하는 방법이 있습니까? – sup
@sup 아니에요. 또 다른 방법은 [drawbox filter] (http://ffmpeg.org/ffmpeg-filters.html#drawbox)를 사용하여 정적 인 투명 상자를 만드는 것이지만, 그 방법도 좋지 않습니다. – LordNeckbeard
@LordNeckbeard 남자, 내 목숨을 구했어! 저건 완벽 해! 매력처럼 작동합니다! 어도비 앙코르 (adobe encore), 어도비 프리미어 (adobe premiere) 및 이러한 모든 물건을 지불 할 필요가 없습니다. 이런 간단한 일을 할 수 없습니다! – eusoubrasileiro
같은 질문이 있어도 좋은 답변을 찾을 수 없습니다. 분명히 ffmpeg
(그리고 avconv
다음과 같이 srt
에 ass
서식을 적용하는 방법을 알고있다.
avconv -i in.mp4 -vf "subtitles=subtemp.sub.0.sub:force_style='Name=Default,Fontname=Arial,Fontsize=28,PrimaryColour=&Hffffff,SecondaryColour=&Hffffff,OutlineColour=&H44000000,BackColour=&H0,BorderStyle=3,Shadow=0'" out.mp4
(ffmpeg
와 avconv
가까운 그것을 작동, 또는해야 교체하는)
이 추가 읽기에 대한 ass
, 구체적으로 무엇에 보인다 문제는 BackColour
및 BorderStyle
입니다.
this 이지스 스크립트를 사용할 수 있습니다. 이 스크립트는 자막의 모든 라인에 대해 투명한 배경을 자동으로 생성합니다.
- 1. js를 배경으로 설정하는 방법은 무엇입니까?
- 2. 보기 배경으로 paintdrawable을 설정하는 방법은 무엇입니까?
- 3. 이미지를 그래프의 배경으로 설정하는 방법은 무엇입니까?
- 4. ASP.NET에서 그림을 배경으로 설정하는 방법은 무엇입니까?
- 5. 이미지 뷰를 컨테이너의 배경으로 설정하는 방법은 무엇입니까?
- 6. 투명한 이미지를 배경으로 설정하는 방법은 무엇입니까?
- 7. emacsclient 배경을 Emacs 배경으로 설정하는 방법은 무엇입니까?
- 8. 뷰가있는 배경으로 카메라 뷰를 설정하는 방법은 무엇입니까?
- 9. JavaFX에서 이미지를 장면 배경으로 설정하는 방법은 무엇입니까?
- 10. ffmpeg에서 librtmp를 사용하는 방법은 무엇입니까?
- 11. YouTube 자막을 선택하는 방법은 무엇입니까?
- 12. ffmpeg에서 진행 상황을 모니터링하는 방법은 무엇입니까?
- 13. ffmpeg에서 AVPacket의 크기를 아는 방법은 무엇입니까?
- 14. FFMPEG에서 motion_val을 채우거나 계산하는 방법은 무엇입니까?
- 15. ffmpeg에서 웹캠을 스트리밍 할 수있는 방법은 무엇입니까?
- 16. UITableViewCell의 배경보기가 선택되지 않은 경우 선택한 배경으로 설정하는 방법은 무엇입니까?
- 17. WebView의 onReceivedError 메소드에서 이미지를 배경으로 설정하는 방법은 무엇입니까?
- 18. 하나의 UIimageView의 이미지를 다른 UIImageView의 배경으로 설정하는 방법은 무엇입니까?
- 19. 액세서리보기 배경을 UItableViewCell의 콘텐츠보기와 동일한 배경으로 설정하는 방법은 무엇입니까?
- 20. WPF : 활성 배경색을 창 배경으로 설정하는 방법은 무엇입니까?
- 21. 이미지를 버튼의 배경으로 프로그래밍 방식으로 설정하는 방법은 무엇입니까?
- 22. input type = "text"의 배경으로 텍스트를 설정하는 방법은 무엇입니까?
- 23. html로 비디오에 자막을 추가하는 방법은 무엇입니까?
- 24. 자막을 사용하여 DVD 비디오를 만드는 방법은 무엇입니까?
- 25. UIWebview에서 제목과 자막을 감지하는 방법은 무엇입니까?
- 26. 범례 pie amchart에서 자막을 제거하는 방법은 무엇입니까?
- 27. Flexslider - 자막을 슬라이더 바깥에 표시하는 방법은 무엇입니까?
- 28. 레이아웃 배경으로 캔버스를 설정하는 방법
- 29. 배경으로 png로 플로팅하는 방법은 무엇입니까?
- 30. ffmpeg에서 다른 기간을보고하는 이유는 무엇입니까?
이 작업을 수행하려면 쉽게 그냥 [drawbox]를 사용하는 것이 더 효율적이 될 것입니다 방법 (https://ffmpeg.org/ffmpeg-filters.html "별도의 배경 상자를 만들어" #drawbox) 필터. 또한 오버레이 또는 드로 박스와 같은 필터를 사용하면 비디오를 다시 인코딩해야하지만 내 대답에 표시된대로 소프트 서브 용 ASS 자막을 사용하면 비디오가 수정되지 않습니다. – LordNeckbeard