Skip to content

Instantly share code, notes, and snippets.

@wsaribeiro
Forked from rubenxyz/commands
Created November 13, 2023 23:43
Show Gist options
  • Save wsaribeiro/531bbf20ca3b4ab8b60f7a919b989efc to your computer and use it in GitHub Desktop.
Save wsaribeiro/531bbf20ca3b4ab8b60f7a919b989efc to your computer and use it in GitHub Desktop.

Revisions

  1. @rubenxyz rubenxyz created this gist Dec 22, 2019.
    88 changes: 88 additions & 0 deletions commands
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,88 @@
    # YOUTUBE-DL #

    youtube-dl --yes-playlist -f best -i -v -w -c


    # EXIFTOOL #

    #Remove all exif data, except Label
    exiftool -r -all= -ext jpg -ext gif -ext png -tagsfromfile @ -Label

    #Write -author tag from foldername
    exiftool '-Author<${directory;my @a=split m(/);$_=$a[-1]}' -r -overwrite_original

    #Add keyword
    exiftool -keywords+=banana -r -overwrite_original

    # IMAGEMAGICK #

    #Converts a single image from JPG to PNG.
    magick convert rose.jpg rose.png

    #Converts a single image from JPG to PNG, with more opions
    convert file.jpg -sampling-factor 4:2:0 -strip -quality 85 -interlace JPEG -colorspace sRGB file.jpg

    #Find and converts a single image from JPG to PNG, with more opions
    find . -name "*.png" -exec mogrify -format jpg {} \;

    #Convert JPG to PNG in subfolders, overwrite original
    mogrify -sampling-factor 4:2:0 -strip -quality 100 -interlace JPEG -colorspace sRGB *.jpg

    # FFMPEG #
    Check videofile integrity:
    ffmpeg -v error -i file.avi -f null - 2>error.log

    #Merging video and audio, with audio re-encoding
    ffmpeg -i Akira360_nosound.mp4 -i Akira.m4a \
    -c:v copy -c:a aac -strict experimental Akira360.mp4 && ffmpeg -i Akira576_nosound.mp4 -i Akira.m4a \
    -c:v copy -c:a aac -strict experimental Akira576.mp4 && ffmpeg -i Akira720_nosound.mp4 -i Akira.m4a \
    -c:v copy -c:a aac -strict experimental Akira720.mp4 && ffmpeg -i Akira1080_nosound.mp4 -i Akira.m4a \
    -c:v copy -c:a aac -strict experimental Akira1080.mp4 && ffmpeg -i Akira1080_20Mbps_nosound.mp4 -i Akira.m4a \
    -c:v copy -c:a aac -strict experimental Akira1080_20Mbps.mp4

    #JOIN AUDIO AND VIDOE
    ffmpeg -i agera.m2v -i agera.wav \
    -c:v copy -c:a aac -strict experimental agera3.mp4

    #PRORES TO MP4
    ffmpeg -i prores_auto.mov -vcodec libx264 -pix_fmt yuv420p -acodec libfaac home1.mp4

    #Copying the audio without re-encoding
    ffmpeg -i video.mp4 -i audio.wav -c copy output.mkv

    #REMOVE SOUND
    ffmpeg -i LuckyOne1080.mp4 -c copy -an LuckyOne1080_nosound.mp4
    ffmpeg -i LuckyOne720.mp4 -c copy -an LuckyOne720_nosound.mp4
    ffmpeg -i LuckyOne576.mp4 -c copy -an LuckyOne576_nosound.mp4
    ffmpeg -i LuckyOne360.mp4 -c copy -an LuckyOne360_nosound.mp4
    ffmpeg -i LuckyOne1080_20mbps.mp4 -c copy -an LuckyOne1080_20mbps_nosound.mp4

    #5.1 to MONO
    ffmpeg -i Kärlek_och_viljan.mov \
    -filter_complex "channelsplit=channel_layout=5.1[FL][FR][FC][LFE][BL][BR]" \
    -map "[FL]" front_left.wav \
    -map "[FR]" front_right.wav \
    -map "[FC]" front_center.wav \
    -map "[LFE]" lfe.wav \
    -map "[BL]" back_left.wav \
    -map "[BR]" back_right.wav

    ffmpeg -i Kärlek_och_viljan.mov -filter_complex \
    "[0:a]pan=mono|c0=c0[a0]; \
    [0:a]pan=mono|c0=c1[a1]; \
    [0:a]pan=mono|c0=c2[a2]; \
    [0:a]pan=mono|c0=c3[a3]; \Akira
    [0:a]pan=mono|c0=c4[a4]; \
    [0:a]pan=mono|c0=c5[a5]; \
    [0:a]pan=mono|c0=c6[a6]; \
    [0:a]pan=mono|c0=c7[a7]; \
    [0:a]pan=mono|c0=c8[a8]" \
    -map 0 -map -0:a -map "[a0]" -map "[a1]" -map "[a2]" -map "[a3]" \
    -map "[a4]" -map "[a5]" -map "[a6]" -map "[a7]" \
    -map "[a8]" \
    -c copy -c:a pcm_s24le \
    output.mov


    find ./ -iname "*.docx" -type f -exec sh -c 'pandoc "${0}" -o "${0%.docx}.md"' {} \;
    find ./ -iname "*.xlsx" -type f -exec sh -c 'pandoc "${0}" -o "${0%.xlsx}.csv"' {} \;