From c13b2e52d63c9df91f370dc7a118e840774eddce Mon Sep 17 00:00:00 2001 From: Alex Kup <116945542+Lifailon@users.noreply.github.com> Date: Fri, 1 Mar 2024 18:13:51 +0300 Subject: [PATCH] added commands and install for ffmpeg and pandoc --- README.md | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 6b978ce..df44c93 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ ![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/lifailon/PS-Commands) ![GitHub Repo stars](https://img.shields.io/github/stars/Lifailon/PS-Commands) -πŸ“’ Π‘Ρ‚Π°Ρ‚ΡŒΡ Π½Π° Habr: [PowerShell ΠΈ Π΅Π³ΠΎ возмоТности](https://habr.com/ru/articles/782592/) +πŸ“’ Habr: [PowerShell ΠΈ Π΅Π³ΠΎ возмоТности](https://habr.com/ru/articles/782592/) - [Help](#help) - [Object](#object) @@ -104,6 +104,8 @@ - [Discord](#discord) - [oh-my-posh](#oh-my-posh) - [Pester](#pester) +- [FFmpeg](#ffmpeg) +- [Pandoc](#pandoc) # Help @@ -7237,3 +7239,35 @@ Describe "Get-RunningProcess" { } } ``` +# FFmpeg +```PowerShell +$release_latest = Invoke-RestMethod "https://api.github.com/repos/BtbN/FFmpeg-Builds/releases/latest" +$url = $($release_latest.assets | Where-Object name -match "ffmpeg-master-latest-win64-gpl.zip").browser_download_url +Invoke-RestMethod $url -OutFile $home\Downloads\ffmpeg-master-latest-win64-gpl.zip +Expand-Archive -Path "$home\Downloads\ffmpeg-master-latest-win64-gpl.zip" -DestinationPath "$home\Downloads\" +Copy-Item -Path "$home\Downloads\ffmpeg-master-latest-win64-gpl\bin\ffmpeg.exe" -Destination "C:\Windows\System32\ffmpeg.exe" +Remove-Item "$home\Downloads\ffmpeg-*" -Force -Recurse +``` +`ffmpeg -i input.mp4 output.gif` ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ mp4 Π² gif \ +`ffmpeg -i input.mp4 -filter_complex "scale=1440:-1:flags=lanczos" output.gif` ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ \ +`ffmpeg -i input.mp4 -filter_complex "scale=1440:-1:flags=lanczos" -r 10 output.gif` ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ количСство ΠΊΠ°Π΄Ρ€ΠΎΠ² Π² сСкунду Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ \ +`ffmpeg -i input.mp4 -filter_complex "fps=5,scale=960:-1:flags=lanczos,split[s0][s1];[s0]palettegen=max_colors=32[p];[s1][p]paletteuse=dither=bayer" output.gif` сТатиС Π·Π° счСт Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ»ΠΈΡ‚Ρ€Ρ‹ \ +`ffmpeg -i input.mp4 -ss 00:00:10 -frames:v 1 -q:v 1 output.jpg` Π²Ρ‹Ρ‚Π°Ρ‰ΠΈΡ‚ΡŒ ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ ΠΈΠ· Π²ΠΈΠ΄Π΅ΠΎ Π½Π° 10 сСкундС \ +`ffmpeg -i input.mp4 -ss 00:00:05 -to 00:00:10 -c copy output.mp4` Π²Ρ‹Ρ‚Π°Ρ‰ΠΈΡ‚ΡŒ кусок Π²ΠΈΠ΄Π΅ΠΎ \ +`ffmpeg -i "%d.jpeg" -framerate 2 -c:v libx264 -r 30 -pix_fmt yuv420p output.mp4` ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²ΠΈΠ΄Π΅ΠΎ ΠΈΠ· Ρ„ΠΎΡ‚ΠΎ (1.jpeg, 2.jpeg ΠΈ Ρ‚.Π΄.) с framerate (частотой ΠΊΠ°Π΄Ρ€ΠΎΠ²) Π² создаваСмом Π²ΠΈΠ΄Π΅ΠΎ 2 ΠΊΠ°Π΄Ρ€Π° Π² сСкунду \ +`ffmpeg -i "rtsp://admin:password@192.168.3.201:554" -rtsp_transport tcp -c:v copy -c:a aac -strict experimental output.mp4` запись Π±Π΅Π· пСрСкодирования (copy) RTSP-ΠΏΠΎΡ‚ΠΎΠΊΠ° с ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ видСонаблюдСния (+ Π°ΡƒΠ΄ΠΈΠΎ Π² ΠΊΠΎΠ΄Π΅ΠΊΠ΅ AAC) Π² Ρ„Π°ΠΉΠ» \ +`ffmpeg -i "rtsp://admin:password@192.168.3.201:554" -rtsp_transport tcp -c:v copy -c:a aac -strict experimental -movflags +faststart+frag_keyframe+empty_moov output.mp4` ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ Π² Π½Π°Ρ‡Π°Π»ΠΎ Ρ„Π°ΠΉΠ»Π°, Ρ‡Ρ‚ΠΎ позволяСт Π½Π°Ρ‡Π°Ρ‚ΡŒ воспроизвСдСниС Ρ„Π°ΠΉΠ»Π° Π² Π²ΠΈΠ΄Π΅ΠΎΠΏΠ»Π΅Π΅Ρ€Π΅ Π΄ΠΎ Π΅Π³ΠΎ ΠΏΠΎΠ»Π½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ \ +`ffmpeg -i "rtsp://admin:password@192.168.3.201:554" -rtsp_transport tcp -frames:v 1 -c:v mjpeg output.jpg` ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ + +# Pandoc +```PowerShell +$release_latest = Invoke-RestMethod "https://api.github.com/repos/jgm/pandoc/releases/latest" +$url = $($release_latest.assets | Where-Object name -match "windows-x86_64.zip").browser_download_url +Invoke-RestMethod $url -OutFile $home\Downloads\pandoc.zip +Expand-Archive -Path "$home\Downloads\pandoc.zip" -DestinationPath "$home\Downloads\" +$path = $(Get-ChildItem "$home\Downloads\pandoc-*\*.exe").FullName +Copy-Item -Path $path -Destination "C:\Windows\System32\pandoc.exe" +Remove-Item "$home\Downloads\pandoc*" -Force -Recurse +``` +`pandoc -s README.md -o index.html` ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ· Markdown Π² HTML \ +`pandoc -s index.html -o README.md` ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ· HTML Π² Markdown