Hur lägger man till text till video med FFmpeg?

En sofistikerad ljudredigeringsstudio som badar i sval blå belysning
Behärska konsten att integrera text i dina videoprojekt med hjälp av Ffmpeg

Transkriptor 2023-04-03

Vad är FFmpeg?

FFmpeg är ett gratis projekt som tillhandahåller en samling program för hantering av data som ljud, video och bilder. Det är ett verktyg som används för att konvertera, spela in, strömma och spela upp filer.

FFmpeg har stöd för ett stort antal format och codecs och används för uppgifter som omkodning, storleksändring av filter, tillägg av vattenmärken eller undertexter , ljud från video och sammanslagning av flera video- eller ljudfiler. Det är också möjligt att skapa en GIF med FFmpeg och kombinera MP4-filer med FFMPEG i Windows.

FFmpeg används i stor utsträckning inom mediebranschen och finns tillgängligt på de flesta operativsystem, inklusive Windows, macOS, Linux och Unix.

Hur använder man FFmpeg?

Här är några vanliga exempel på hur du använder FFmpeg:

  1. Konvertera en videofil från ett format till ett annat:

Kod: ffmpeg -i input_video .mp4 output_video.avi

Detta kommando omvandlar input_video.mp4 till output_video.avi . FFmpeg väljer automatiskt lämpliga codecs för utdataformatet.

  1. Ändra storlek på en video:

Kod: ffmpeg -i input_video .mp4 -vf scale=640:480 output_video .mp4

Det här kommandot ändrar storleken på input_video.mp4 till en upplösning på 640×480 pixlar och sparar resultatet på output_video.mp4 .

  1. Extrahera ljud från en video:

Kod: ffmpeg -i input_video .mp4 -vn output_audio .mp3

Det här kommandot extraherar ljudspåret från input_video.mp4 och sparar det på output_audio.mp3 .

  1. Sammanfoga två videor:

Kod: ffmpeg -i input_video1 .mp4 -i input_video2 .mp4 -filter_complex concat output_video .mp4

Detta kommando sammanfogar input_video1.mp4 och input_video2.mp4 och sparar resultatet på output_video.mp4 .

  1. Lägg till ett vattenmärke i en video:

Kod: ffmpeg -i input_video .mp4 -i watermark.png -filter_complex ”overlay=10:10” output_video .mp4

Det här kommandot lägger till bilden watermark.png i det övre vänstra hörnet av input_video.mp4 med en förskjutning på 10 pixlar och sparar resultatet på output_video.mp4 .

Detta är bara några exempel på vad du kan göra med FFmpeg. Det är också möjligt att använda FFmpeg på Android. Om du vill ha mer information kan du använda dig av handledningar online, videoströmmar eller AI-chatbots som ChatGPT.

ffmpeg-logotyp

Vad är FFmpegs användbara videoredigeringskommandon?

  1. Trimma en video:

Kod: ffmpeg -i input_video .mp4 -ss 00:00:05 -t 00:00:10 -c copy output_video .mp4

Det här kommandot trimmar input_video.mp4 så att det börjar vid 5 sekunder och slutar efter 10 sekunder och sparar resultatet på output_video.mp4 .

  1. Lägga till en bild eller videoöverlagring i min video:

Kod: ffmpeg -i input_video .mp4 -i overlay_image.png -filter_complex ”overlay=10:10” output_video .mp4

Detta kommando lägger till filen overlay_image.png som en överlagring på input_video.mp4 vid koordinaterna (10, 10) och sparar resultatet på output_video.mp4 .

  1. Ändra videoupplösning:

Kod: ffmpeg -i input_video .mp4 -vf scale=1280:720 -c:a copy output_video .mp4

Det här kommandot ändrar upplösningen på input_video.mp4 till 1280×720 pixlar och sparar resultatet på output_video.mp4 .

  • Lägg till alternativen textfile och reload för drawtext:

Kod: ffmpeg -i input.mp4 -vf ”drawtext=fontfile=/path/to/font.ttf:textfile=text.txt:reload=1:fontcolor=white:fontsize=24:box=1:boxcolor=black@0.5:boxborderw=5:x=(w-text_w)/2:y=(h-text_h)/2” -codec:a copy output.mp4

Hur lägger man till text till video med FFmpeg?

Om du vill lägga till text i en video med FFmpeg använder du filtret drawtext . Med filtret drawtext kan du bland annat ange textens typsnitt, storlek, färg och position.

Här är ett grundläggande kommando för att lägga till text i en video med hjälp av filtret drawtext :

Kod: ffmpeg -i input_video .mp4 -vf ”drawtext=text=text=’Hello World’:fontfile=/path/to/font.ttf:fontsize=50:fontcolor=white:x=100:y=100” -codec:a copy output_video .mp4

I det här kommandot:

  • -i input_video.mp4 anger den ingående videofilen.
  • -vf "drawtext=..." anger det videofilter som ska tillämpas, vilket i det här fallet är drawtext -filtret.
  • text='Hello World' anger den text som ska läggas till i videon.
  • fontfile=/path/to/font.ttf anger den typsnittsfil som ska användas.
  • fontsize=50 anger teckensnittsstorleken i punkter.
  • fontcolor=white anger teckensnittets färg.
  • x=100:y=100 anger textens position i videon, med det övre vänstra hörnet på (100, 100) pixlar.
  • -codec:a copy anger att ljudströmmen ska kopieras från den ingående videon till den utgående videon utan att den kodas om.
  • output_video.mp4 anger den utgående videofilen.

Vad är Fontfile?

Alternativet fontfile i FFmpeg används för att ange sökvägen till en teckensnittsfil som används för att återge text i en video eller bild.

När du använder filtret drawtext i FFmpeg för att lägga till text i en video kan du ange alternativet fontfile för att välja ett specifikt typsnitt för texten.

Hur inkludera teckensnitt i FFmpeg-kommandot utan att använda alternativet Fontfile?

För att använda ett typsnitt i ett FFMPEG-kommando utan att ange alternativet fontfile, använd ett systeminstallerat typsnitt.

Här är ett exempelkommando som använder ett systeminstallerat teckensnitt:

Kod: ffmpeg -i input_video .mp4 -vf ”drawtext=text=text=’Hello World’:fontcolor=white:x=100:y=100:font=Arial” -codec:a copy output_video .mp4

Vad är GitHub?

GitHub är en webbaserad plattform som gör det möjligt för utvecklare att lägga upp och hantera sina programvaruprojekt, samarbeta med andra samt spåra och hantera ändringar i sin kod. Den tillhandahåller verktyg för versionskontroll, problemspårning, kodgranskning och samarbete i teamet.

Hur lägger man till ”StackOverflow”-text med FFmpeg?

Kod: ffmpeg -i input_video .mp4 -vf ”drawtext=text=text=’StackOverflow’:fontfile=/path/to/font.ttf:fontsize=30:fontcolor=white:x=100:y=100” -codec:a copy output_video .mp4

Här är vad de olika alternativen i det här kommandot gör:

  • -i input_video.mp4 anger den ingående videofilen.
  • -vf "drawtext=text='StackOverflow':fontfile=/path/to/font.ttf:fontsize=30:fontcolor=white:x=100:y=100" skapar videofiltergrafen för att rita texten. Det här kommandot ritar texten ”StackOverflow” på videon vid koordinaterna (100, 100), med hjälp av en typsnittsfil som finns på /path/to/font.ttf , med en typsnittsstorlek på 30 och en vit typsnittsfärg.
  • -codec:a copy kopierar ljudströmmen från den ingående videon till den utgående videon utan att den kodas om.
  • output_video.mp4 anger namnet på den utgående videofilen.

Hur man visar tidskoder eller tidsstämplar med hjälp av FFmpegs Drawtext-filter?

Kod: ffmpeg -i input_video .mp4 -filter_complex ”drawtext=fontfile=/path/to/font.ttf:text=’%{pts/:hms}’:fontsize=24:fontcolor=white:x=10:y=10” -codec:a copy output_video .mp4

Här är vad de olika alternativen i det här kommandot gör:

  • -i input_video.mp4 anger den ingående videofilen.
  • -filter_complex gör det möjligt att använda flera filter i samma kommando.
  • drawtext är filtrets namn.
  • fontfile=/path/to/font.ttf anger sökvägen till den teckensnittsfil som vi vill använda.
  • text='%{pts/:hms}' anger den text som ska visas. %{pts/:hms} är en platshållare som kommer att ersättas av den aktuella tidskoden i formatet timmar:minuter:sekunder.
  • fontsize=24 ställer in teckensnittsstorleken på 24.
  • fontcolor=white ställer in teckensnittsfärgen till vit.
  • x=10 och y=10 anger textens position i videon.
  • -codec:a copy kopierar ljudströmmen från den ingående videon till den utgående videon utan att den kodas om.
  • output_video.mp4 anger namnet på utdatafilen.

Tal till text

img

Transkriptor

Konvertera dina ljud- och videofiler till text