Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
progs:video-soft [27.04.2025 08:47] – [Деинтерлейс] viacheslav | progs:video-soft [11.09.2025 09:12] (текущий) – [ffplay] viacheslav |
---|
===== youtube-dl ===== | ===== youtube-dl ===== |
[[https://github.com/yt-dlp/yt-dlp/releases|Скачать yt-dlp]]\\ | [[https://github.com/yt-dlp/yt-dlp/releases|Скачать yt-dlp]]\\ |
[[https://github.com/yt-dlp/yt-dlp/blob/master/README.md|Справка]] | [[https://github.com/yt-dlp/yt-dlp/blob/master/README.md|Справка]]\\ |
| [[https://github.com/yt-dlp/yt-dlp/blob/master/README.md#format-selection-examples|format-selection-examples]] |
| |
<code powershell> | <code powershell> |
# Скачать описание и вшить его в файл (метки времени тоже появляются, если они есть в описании) | # Скачать описание и вшить его в файл (метки времени тоже появляются, если они есть в описании) |
--embed-metadata --parse-metadata "description:(?s)(?P<meta_comment>.+)" | --embed-metadata --parse-metadata "description:(?s)(?P<meta_comment>.+)" |
| # Получить имена видео в списке без скачивания |
| $titles = yt-dlp https://www.youtube.com/playlist?list=PLy7Kah3WzqrHPrgkBgwzXyfDDCvthdUfl --flat-playlist --get-title |
</code> | </code> |
| |
===== Московская филармония ===== | ===== Московская филармония ===== |
([[http://meloman.ru/videos/tchaikovsky-hall/|зал Чайковского]]): | ([[http://meloman.ru/videos/tchaikovsky-hall/|зал Чайковского]]): |
===== NewPipe ===== | ===== NewPipe ===== |
Для телефонов на Андроиде. https://newpipe.net/\\ | Для телефонов на Андроиде. https://newpipe.net/\\ |
<del>Последнее время обновляется редко, и не успевает за изменениями самого Ютуба. Вот свежие беты:\\ | Форк - https://pipepipe.dev/ (на замену, когда NewPipe работает некорректно). |
https://github.com/TeamNewPipe/NewPipe/pull/9182</del> | |
====== ffmpeg ====== | ====== ffmpeg ====== |
[[http://ffmpeg.org/ffmpeg.html|Документация]], [[https://trac.ffmpeg.org/wiki/TitleIndex|Wiki]].\\ | [[http://ffmpeg.org/ffmpeg.html|Документация]], [[https://trac.ffmpeg.org/wiki/TitleIndex|Wiki]].\\ |
vaguedenoiser - очень хорошо.\\ | vaguedenoiser - очень хорошо.\\ |
Apply a wavelet based denoiser. | Apply a wavelet based denoiser. |
| |
| [[https://ffmpeg.org/ffmpeg-filters.html#chromanr|chromanr]] - убирает цветовой шум (chrominance noise). |
| |
==== Поворот видео ==== | ==== Поворот видео ==== |
==== Деинтерлейс ==== | ==== Деинтерлейс ==== |
| |
* [[https://ffmpeg.org/ffmpeg-filters.html#bwdif|bwdif]] - //наверное, лучший вариант// из простых в применении. Удваивает кол-во кадров в секунду.\\ | <code powershell> |
| -vf bwdif,mcdeint |
| </code> |
| |
| * [[https://ffmpeg.org/ffmpeg-filters.html#bwdif|bwdif]] - //один из лучших вариантов,// простых в применении. Удваивает кол-во кадров в секунду.\\ |
| * [[https://ffmpeg.org/ffmpeg-filters.html#estdif|estdif]] - Spatial only filter that uses edge slope tracing algorithm to interpolate missing lines. Не очень, заметна гребёнка в кадре после обработки. |
* [[https://ffmpeg.org/ffmpeg-filters.html#w3fdif|w3fdif]] - очень хорошо, настройки по умолчанию\\ | * [[https://ffmpeg.org/ffmpeg-filters.html#w3fdif|w3fdif]] - очень хорошо, настройки по умолчанию\\ |
* [[https://ffmpeg.org/ffmpeg-filters.html#yadif-1|yadif]] - быстрый, но есть огрехи. Использовать ''yadif=1'' для удвоения кадров.\\ | * [[https://ffmpeg.org/ffmpeg-filters.html#yadif-1|yadif]] - быстрый, но есть огрехи. Использовать ''yadif=1'' для удвоения кадров.\\ |
* [[https://ffmpeg.org/ffmpeg-filters.html#kerndeint|kerndeint]] - Donald Graft’s adaptive kernel deinterling. Work on interlaced parts of a video to produce progressive frames.\\ | * [[https://ffmpeg.org/ffmpeg-filters.html#kerndeint|kerndeint]] - Donald Graft’s adaptive kernel deinterling. Work on interlaced parts of a video to produce progressive frames.\\ |
* [[https://ffmpeg.org/ffmpeg-filters.html#mcdeint|mcdeint]] - используется вместе с другим деинтерлейсером, выдающим one field per frame, например, ''bwdif'', ''w3fdif'', ''yadif=1'', ''yadif=3''. Работает как некий улучшитель качества и сжимаемости. Пример: ''-vf bwdif,mcdeint''.\\ | * [[https://ffmpeg.org/ffmpeg-filters.html#mcdeint|mcdeint]] - используется вместе с другим деинтерлейсером, выдающим one field per frame, например, ''bwdif'', ''w3fdif'', ''yadif=1'', ''yadif=3''. Работает как некий улучшитель качества и сжимаемости. Пример: ''-vf bwdif,mcdeint''.\\ |
* [[https://ffmpeg.org/ffmpeg-filters.html#nnedi|nnedi]] - "нейросетевой" фильтр, любопытный вариант. Требует наличия файла [[https://github.com/dubhater/vapoursynth-nnedi3/blob/v6/src/nnedi3_weights.bin|nnedi3_weights.bin]]. ''-vf nnedi=weights='C\\:/\Temp/\nnedi3_weights.bin'''\\ | * [[https://ffmpeg.org/ffmpeg-filters.html#nnedi|nnedi]] - "нейросетевой" фильтр, любопытный вариант. Требует наличия файла [[https://github.com/dubhater/vapoursynth-nnedi3/blob/v6/src/nnedi3_weights.bin|nnedi3_weights.bin]]. Пример: ''-vf nnedi=weights='C\\:/\Temp/\nnedi3_weights.bin':pscrn=new3''. [[https://github.com/dubhater/vapoursynth-nnedi3|Описание опций на github]].\\ |
| |
<WRAP round info 80%> | <WRAP round info 80%> |
-c:v h264_qsv -profile:v high -global_quality:v 23 -look_ahead 1 -preset slow ` | -c:v h264_qsv -profile:v high -global_quality:v 23 -look_ahead 1 -preset slow ` |
"$env:userprofile\Videos\$($file.name -replace "\D").mkv" -y | "$env:userprofile\Videos\$($file.name -replace "\D").mkv" -y |
| } |
| </code> |
| |
| ===== Аниме Bleach ===== |
| <code powershell> |
| # Всего в сериале 366 серий |
| $folder = "~\Videos\Bleach" |
| $ytdlp = "C:\Scripts\yt-dlp.exe" |
| # Задать начальную и конечную серии |
| $start = 92 |
| $end = 200 |
| |
| mkdir $folder -Force > $null |
| cd $folder |
| # Скачать с качеством 720p |
| & $ytdlp https://rutube.ru/plst/594259/ --playlist-start $start --playlist-end $end -f [width<900] |
| # Докачка какой-либо отдельной серии |
| # & $ytdlp https://rutube.ru/plst/594259/ -I 162 |
| |
| # Получение нормальных названий серий с jut.su |
| $report = @() |
| $start..$end |% { |
| $url = iwr "https://jut.su/bleeach/season-1/episode-$_.html" |
| $num = $url.ParsedHtml.body.getElementsByClassName('header_video allanimevideo the_hildi anime_padding_for_title_post')[0].innertext.split() -match '\d' |
| $season = $num[0] |
| $episode = ($num[1] -as [int]).tostring("000") |
| $obj = [pscustomobject]@{ |
| Number = $season + "-" + $episode |
| Name = $url.ParsedHtml.body.getElementsByClassName('video_plate_title')[0].innertext |
| } |
| $report += $obj |
| } |
| |
| # Переименование (https://learn.microsoft.com/ru-ru/windows/win32/fileio/naming-a-file) |
| $i = 0 |
| dir *.mp4 |sort {($_.name -replace '.*серия (\d+).*','$1' -as [int]).ToString("000")} |% { |
| $_ |Rename-Item -NewName ($report[$i].number + " " + ($report[$i].name -replace '[<>:"/|\\?*]') + $_.Extension) |
| $i++ |
| } |
| |
| # Начальная заставка длится 1:40. Короткая серия (меньше 24:30) длится после заставки 20:10, длинная - 20:50 |
| dir *.mp4 |% { |
| [timespan]$duration = & ffprobe.exe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 -sexagesimal $_.FullName |
| if ($duration.totalminutes -lt 24.5) {$t = "00:20:10"} |
| else {$t = "00:20:50"} |
| & ffmpeg.exe -ss 00:01:40 -i $_.FullName ` |
| -c:v hevc_nvenc -cq 30 -c:a libopus -b:a 64k -ac 1 ` |
| -t $t "$($_.BaseName).mkv" -y |
} | } |
</code> | </code> |
https://ffmpeg.org/ffplay.html#While-playing | https://ffmpeg.org/ffplay.html#While-playing |
| |
| ====== vdo.ninja ====== |
| Комната без видео: |
| <code> |
| https://vdo.ninja/?room=<roomName>&vd=0 |
| </code> |
| |
====== Заметки ====== | ====== Заметки ====== |