Skip to content

Instantly share code, notes, and snippets.

@ezodude
Created August 17, 2011 14:47
Show Gist options
  • Save ezodude/1151663 to your computer and use it in GitHub Desktop.
Save ezodude/1151663 to your computer and use it in GitHub Desktop.
Multi-Step Encoder
#!/bin/bash
# SET FFMPEG BINARY LOCATION
FFMPEG_BIN=/usr/local/bin/ffmpeg
# MAKE A FIFO
mkfifo pipe-a.y4m
mkfifo pipe-v.y4m
# DECODE VIDEO
# mplayer $1 -tsprobe 50000000 -vo yuv4mpeg:file=pipe.y4m -nosound &
## NO FIFO PIPES
#mplayer -ao pcm -af format=s16le -vo yuv4mpeg -lavfdopts probesize=50000000 test.ts
## WITH FIFO PIPES
mplayer -ao pcm:file=pipe-a.y4m -af format=s16le -lavfdopts probesize=50000000 $1 &
mplayer -vo yuv4mpeg:file=pipe-v.y4m -lavfdopts probesize=50000000 $1 &
#ENCODE VIDEO
## NO FIFO PIPES
#ffmpeg -y -s 1440x1080 -r 25 -i stream.yuv -i audiodump.wav -map 0:0 -map 1:0 -async 1 -pix_fmt yuv422p -r 25 -vcodec dvvideo -ac 6 -acodec pcm_s16le -ar 48000 temp_dvcprohd.avi
## WITH FIFO PIPES
ffmpeg -y -s 1440x1080 -r 25 -i pipe-v.y4m -i pipe-a.y4m -map 0:0 -map 1:0 -async 1 -pix_fmt yuv422p -r 25 -vcodec dvvideo -ac 6 -acodec pcm_s16le -ar 48000 temp_dvcprohd.avi && $FFMPEG_BIN -i temp_dvcprohd.avi -vcodec copy -acodec copy temp_dvcprohd.mov
# TIDY UP
rm pipe-a.y4m
rm pipe-v.y4m
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment