Предыдущая | Следующая

Чем удивительная программа. Там ниже есть картинки, которые распространяют исходный код ютубдл. То есть данной программой можно как закодировать текст в картинку, так и раскодировать его. Абсолютно не понимаю как это сделать.

convert(1)                                               General Commands Manual                                              convert(1)

       convert  -  convert between image formats as well as resize an image, blur, crop, despeckle, dither, draw on, flip, join, re-sam‐
       ple, and much more.

       convert [input-options] input-file [output-options] output-file

       The convert program is a member of the ImageMagick(1) suite of tools.  Use it to convert between image formats as well as  resize
       an image, blur, crop, despeckle, dither, draw on, flip, join, re-sample, and much more.

       For  more  information  about  the convert command, point your browser to file:///usr/share/doc/ImageMagick-7/www/convert.html or

       Image Settings:
         -adjoin              join images into a single multi-image file
         -affine matrix       affine transform matrix
         -alpha option        activate, deactivate, reset, or set the alpha channel
         -antialias           remove pixel-aliasing
         -authenticate value  decrypt image with this password
         -attenuate value     lessen (or intensify) when adding noise to an image
         -background color    background color
         -bias value          add bias when convolving an image
                              use black point compensation
         -blue-primary point  chromaticity blue primary point
         -bordercolor color   border color
         -caption string      assign a caption to an image
         -cdl filename        color correct with a color decision list
         -clip                clip along the first path from the 8BIM profile
         -clip-mask filename  associate a clip mask with the image
         -clip-path id        clip along a named path from the 8BIM profile
         -colorspace type     alternate image colorspace
         -comment string      annotate image with comment
         -compose operator    set image composite operator
         -compress type       type of pixel compression when writing the image
         -decipher filename   convert cipher pixels to plain pixels
         -define format:option
                              define one or more image format options
         -delay value         display the next image after pausing
         -density geometry    horizontal and vertical density of the image
         -depth value         image depth
         -direction type      render text right-to-left or left-to-right
         -display server      get image or font from this X server
         -dispose method      layer disposal method
         -dither method       apply error diffusion to image
         -encipher filename   convert plain pixels to cipher pixels
         -encoding type       text encoding type
         -endian type         endianness (MSB or LSB) of the image
         -family name         render text with this font family
         -features distance   analyze image features (e.g. contrast, correlation)
         -fill color          color to use when filling a graphic primitive
         -filter type         use this filter when resizing an image
         -flatten             flatten a sequence of images
         -font name           render text with this font
         -format "string"     output formatted image characteristics
         -fuzz distance       colors within this distance are considered equal
         -gravity type        horizontal and vertical text placement
         -green-primary point chromaticity green primary point
         -intensity method    method to generate intensity value from pixel
         -intent type         type of rendering intent when managing the image color
         -interlace type      type of image interlacing scheme
         -interline-spacing value
                               set the space between two text lines
         -interpolate method  pixel color interpolation method
         -interword-spacing value
                               set the space between two words
         -kerning value       set the space between two letters
         -label string        assign a label to an image
         -limit type value    pixel cache resource limit
         -loop iterations     add Netscape loop extension to your GIF animation
         -matte               store matte channel if the image has one
         -mattecolor color    frame color
         -metric type         measure differences between images with this metric
         -moments             report image moments
         -monitor             monitor progress
         -orient type         image orientation
         -page geometry       size and location of an image canvas (setting)
         -ping                efficiently determine image attributes
         -pointsize value     font point size
         -precision value     maximum number of significant digits to print
         -preview type        image preview type
         -quality value       JPEG/MIFF/PNG compression level
         -quiet               suppress all warning messages
         -read-mask filename  associate a read mask with the image
         -red-primary point   chromaticity red primary point
         -regard-warnings     pay attention to warning messages
         -remap filename      transform image colors to match this set of colors
         -repage geometry     size and location of an image canvas
         -respect-parentheses settings remain in effect until parenthesis boundary
         -sampling-factor geometry
                              horizontal and vertical sampling factor
         -scene value         image scene number
         -seed value          seed a new sequence of pseudo-random numbers
         -size geometry       width and height of image
         -statistic type geometry
                              replace each pixel with corresponding statistic from the neighborhood
         -stretch type        render text with this font stretch
         -stroke color        graphic primitive stroke color
         -strokewidth value   graphic primitive stroke width
         -style type          render text with this font style
         -support factor      resize support: > 1.0 is blurry, < 1.0 is sharp
         -synchronize         synchronize image to storage device

         -taint               declare the image as modified
         -texture filename    name of texture to tile onto the image background
         -tile-offset geometry
                              tile offset
         -treedepth value     color tree depth
         -transparent-color color
                              transparent color
         -undercolor color    annotation bounding box color
         -units type          the units of image resolution
         -verbose             print detailed information about the image
         -virtual-pixel method
                              virtual pixel access method
         -weight type         render text with this font weight
         -white-point point   chromaticity white point
         -write-mask filename associate a write mask with the image

       Image Operators:
         -adaptive-blur geometry
                              adaptively blur pixels; decrease effect near edges
         -adaptive-resize geometry
                              adaptively resize image with data dependent triangulation
         -adaptive-sharpen geometry
                              adaptively sharpen pixels; increase effect near edges
         -annotate geometry text
                              annotate the image with text
         -auto-gamma          automagically adjust gamma level of image
         -auto-level          automagically adjust color levels of image
         -auto-orient         automatically orient image
         -auto-threshold method
                              automatically perform image thresholding
         -bench iterations    measure performance
         -black-threshold value
                              force all pixels below the threshold into black
         -blue-shift factor   simulate a scene at nighttime in the moonlight
         -blur geometry       reduce image noise and reduce detail levels
         -border geometry     surround image with a border of color
         -brightness-contrast geometry
                               improve brightness / contrast of the image
         -canny geometry      detect edges in the image
         -channel mask        set the image channel mask
         -charcoal radius     simulate a charcoal drawing
         -chop geometry       remove pixels from the image interior
         -clahe geometry      contrast limited adaptive histogram equalization
         -clamp               keep pixel values in range (0-QuantumRange)
         -clip                clip along the first path from the 8BIM profile
         -clip-mask filename  associate a clip mask with the image
         -clip-path id        clip along a named path from the 8BIM profile
         -colorize value      colorize the image with the fill color
         -color-matrix matrix apply color correction to the image
         -colors value        preferred number of colors in the image
         -color-threshold start_color-stop_color
                              force all pixels in the color range to white otherwise black
         -connected-component connectivity
                              connected-components uniquely labeled
         -contrast            enhance or reduce the image contrast
         -contrast-stretch geometry
                              improve contrast by `stretching' the intensity range
         -convolve coefficients
                              apply a convolution kernel to the image
         -cycle amount        cycle the image colormap
         -deskew threshold    straighten an image
         -despeckle           reduce the speckles within an image
         -distort method args
                               distort images according to given method and args
         -draw string         annotate the image with a graphic primitive
         -edge radius         apply a filter to detect edges in the image
         -emboss radius       emboss an image
         -enhance             apply a digital filter to enhance a noisy image
         -equalize            perform histogram equalization to an image
         -evaluate operator value
                              evaluate an arithmetic, relational, or logical expression
         -extent geometry     set the image size
         -extract geometry    extract area from image
         -fft                 implements the discrete Fourier transform (DFT)
         -flip                flip image vertically
         -floodfill geometry color
                              floodfill the image with color
         -flop                flop image horizontally
         -frame geometry      surround image with an ornamental border
         -function name       apply a function to the image
         -gamma value         level of gamma correction
         -gaussian-blur geometry
                              reduce image noise and reduce detail levels
         -geometry geometry   preferred size or location of the image
         -grayscale method    convert image to grayscale
         -hough-lines geometry
                              identify lines in the image
         -identify            identify the format and characteristics of the image
         -ift                 implements the inverse discrete Fourier transform (DFT)
         -implode amount      implode image pixels about the center
         -kmeans geometry     K means color reduction
         -lat geometry        local adaptive thresholding
         -layers method       optimize or compare image layers
         -level value         adjust the level of image contrast
         -level-colors color,color
                               level image with the given colors
         -linear-stretch geometry
                              improve contrast by `stretching with saturation' the intensity range
         -liquid-rescale geometry
                              rescale image with seam-carving
         -mean-shift geometry delineate arbitrarily shaped clusters in the image
         -median geometry     apply a median filter to the image
         -mode geometry       make each pixel the 'predominant color' of the neighborhood
         -modulate value      vary the brightness, saturation, and hue
         -monochrome          transform image to black and white
         -morphology method kernel
                              apply a morphology method to the image
         -motion-blur geometry
                              simulate motion blur
         -negate              replace each pixel with its complementary color
         -noise geometry      add or reduce noise in an image
         -normalize           transform image to span the full range of colors
         -opaque color        change this color to the fill color
         -ordered-dither NxN
                              add a noise pattern to the image with specific amplitudes
         -paint radius        simulate an oil painting
         -perceptible epsilon
                              pixel value less than |epsilon| become epsilon or -epsilon
         -polaroid angle      simulate a Polaroid picture
         -posterize levels    reduce the image to a limited number of color levels
         -print string        interpret string and print to console
         -profile filename    add, delete, or apply an image profile
         -quantize colorspace reduce colors in this colorspace
         -radial-blur angle   radial blur the image
         -raise value         lighten/darken image edges to create a 3-D effect
         -random-threshold low,high
                              random threshold the image
         -range-threshold values
                              perform either hard or soft thresholding within some range of values in an image
         -region geometry     apply options to a portion of the image
         -render              render vector graphics
         -resample geometry   change the resolution of an image
         -resize geometry     resize the image
         -roll geometry       roll an image vertically or horizontally
         -rotate degrees      apply Paeth rotation to the image
         -sample geometry     scale image with pixel sampling
         -scale geometry      scale the image
         -segment values      segment an image
         -selective-blur geometry
                              selectively blur pixels within a contrast threshold
         -sepia-tone threshold
                              simulate a sepia-toned photo
         -set property value  set an image property
         -shade degrees       shade the image using a distant light source
         -shadow geometry     simulate an image shadow
         -sharpen geometry    sharpen the image
         -shave geometry      shave pixels from the image edges
         -shear geometry      slide one edge of the image along the X or Y axis
         -sigmoidal-contrast geometry
                              lightness rescaling using sigmoidal contrast enhancement
         -sketch geometry     simulate a pencil sketch
         -solarize threshold  negate all pixels above the threshold level

         -sparse-color method args
                               fill in a image based on a few color points
         -splice geometry     splice the background color into the image
         -spread amount       displace image pixels by a random amount
         -strip               strip image of all profiles and comments
         -swirl degrees       swirl image pixels about the center
         -threshold value     threshold the image
         -thumbnail geometry  create a thumbnail of the image
         -tile filename       tile image when filling a graphic primitive
         -tint value          tint the image with the fill color
         -transform           affine transform image
         -transparent color   make this color transparent within the image
         -transpose           flip image vertically and rotate 90 degrees
         -transverse          flop image horizontally and rotate 270 degrees
         -trim                trim image edges
         -type type           image type
         -unique-colors       discard all but one of any pixel color
         -unsharp geometry    sharpen the image
         -vignette geometry   soften the edges of the image in vignette style
         -wave geometry       alter an image along a sine wave
         -wavelet-denoise threshold
                               removes noise from the image using a wavelet transform
         -white-balance       automagically adjust white balance of image
         -white-threshold value
                              force all pixels above the threshold into white

       Image Channel Operators:
         -channel-fx expression
                              exchange, extract, or transfer one or more image channels
         -separate            separate an image channel into a grayscale image

       Image Sequence Operators:
         -append              append an image sequence top to bottom (use +append for left to right)
         -clut                apply a color lookup table to the image
         -coalesce            merge a sequence of images
         -combine             combine a sequence of images
         -compare             mathematically and visually annotate the difference between an image and its reconstruction
         -complex operator    perform complex mathematics on an image sequence

         -composite           composite image
         -copy geometry offset,
                              copy pixels from one area of an image to another
         -crop geometry       cut out a rectangular region of the image
         -deconstruct         break down an image sequence into constituent parts
         -evaluate-sequence operator
                              evaluate an arithmetic, relational, or logical expression
         -flatten             flatten a sequence of images
         -fx expression       apply mathematical expression to an image channel(s)
         -hald-clut           apply a Hald color lookup table to the image
         -morph value         morph an image sequence
         -mosaic              create a mosaic from an image sequence
         -poly terms          build a polynomial from the image sequence and the corresponding terms (coefficients and degree pairs)
         -process arguments   process the image with a custom image filter
         -smush geometry      smush an image sequence together
         -write filename      write images to this file

       Image Stack Operators:
         -clone indexes       clone an image
         -delete indexes      delete the image from the image sequence
         -duplicate count,indexes
                              duplicate an image one or more times
         -insert index        insert last image into the image sequence
         -reverse             reverse image sequence
         -swap indexes        swap two images in the image sequence

       Miscellaneous Options:
         -debug events        display copious debugging information
         -distribute-cache port
                              distributed pixel cache spanning one or more servers
         -help                print program options
         -log format          format of debugging information
         -list type           print a list of supported option arguments
         -version             print version information


Разработчики и энтузиасты начали распространять код youtube-dl на альтернативных платформах. Кроссплатформенный свободный проект с открытым исходным кодом на Python теперь доступен для скачивания в виде пары картинок формата png.

Одним из новых мест размещения последней версии кода youtube-dl (v2020.09.20) стал Twitter.

Для преобразования данных и распаковки папки с проектом нужно выполнить несколько команд в консоли под Linux или в WSL. Для проверки целостности кода есть исходный SHA256.

convert -depth 8 yt_dl1.png rgb:yt_dl1.part
convert -depth 8 yt_dl2.png rgb:yt_dl2.part
cat yt_dl1.part yt_dl2.part > yt_dl-2020.9.20.tar.gz 


Причиной такого нестандартного размещения кода youtube-dl является блокировка на GitHub репозитория проекта и всех его зеркал за нарушение действующего в США Закона об авторском праве в цифровую эпоху (DMCA). Это произошло 23 октября 2020 года, инициатор блокировки — Американская ассоциация звукозаписывающих компаний (RIAA).

В настоящее время можно скачать код проекта под разные платформы с официального сайта Он также доступен в Архиве Интернета и на

Но энтузиасты на этом не остановились. Код youtube-dl пользователи GitHub прикрепили прямо к репозиторию, где сервис хранит уведомления от правообладетелей.

Пользователь сделал форк репозитория DMCA, затем создал коммит для слияния репозитория DMCA и youtubedl, чтобы код youtubedl стал включен во все дерево истории. Затем пользователь создал PR для основного репозитория DMCA. Создание PR привело к добавлению новой истории в исходный репозиторий DMCA. Так работает бэкэнд GitHub. В итоге пользователь получил доступ к истории в репозитории DMCA и смог добавить туда youtubedl.