|
|
|
@ -2,19 +2,32 @@
@@ -2,19 +2,32 @@
|
|
|
|
|
|
|
|
|
|
# A recent version of ffmpeg is required for the loop of the provided videos |
|
|
|
|
# to repeat indefinitely. |
|
|
|
|
# Example: ./test/ocTestStream.sh ~/Downloads/*.mp4 rtmp://localhost/live/abc123 |
|
|
|
|
|
|
|
|
|
if ! ([[ $1 ]] && [[ $2 ]]) |
|
|
|
|
if ! ([[ $1 ]]) |
|
|
|
|
then |
|
|
|
|
echo "ocTestStream is used for sending pre-recorded content to a RTMP server." |
|
|
|
|
echo "./ocTestStream.sh *.mp4 rtmp://desination.host/live/streamkey" |
|
|
|
|
echo "Will default to localhost with the stream key of abc123 if one isn't provided." |
|
|
|
|
echo "./ocTestStream.sh *.mp4 [RTMPDESINATION]" |
|
|
|
|
exit |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
array=( $@ ) |
|
|
|
|
ARGS_LEN=${#array[@]} |
|
|
|
|
CONTENT=${array[@]:0:$ARGS_LEN-1} |
|
|
|
|
DESTINATION_HOST=${@: -1} |
|
|
|
|
FILE_COUNT=$( expr ${#} - 1 ) |
|
|
|
|
# Make the destination optional and point to localhost with default key |
|
|
|
|
if [[ ${@: -1} == *"rtmp://"* ]]; then |
|
|
|
|
echo "RTMP is specified" |
|
|
|
|
DESTINATION_HOST=${@: -1} |
|
|
|
|
array=( $@ ) |
|
|
|
|
ARGS_LEN=${#array[@]} |
|
|
|
|
CONTENT=${array[@]:0:$ARGS_LEN-1} |
|
|
|
|
DESTINATION_HOST=${@: -1} |
|
|
|
|
FILE_COUNT=$( expr ${#} - 1 ) |
|
|
|
|
else |
|
|
|
|
DESTINATION_HOST="rtmp://localhost/live/abc123" |
|
|
|
|
array=( $@ ) |
|
|
|
|
ARGS_LEN=${#array[@]} |
|
|
|
|
CONTENT=${array[@]:0:$ARGS_LEN} |
|
|
|
|
FILE_COUNT=$( expr ${#} ) |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
# Delete the old list of files if it exists |
|
|
|
|
if test -f list.txt; then |
|
|
|
@ -28,4 +41,4 @@ done
@@ -28,4 +41,4 @@ done
|
|
|
|
|
|
|
|
|
|
echo "Streaming a loop of ${FILE_COUNT} videos to $DESTINATION_HOST... ctl+c to exit" |
|
|
|
|
|
|
|
|
|
ffmpeg -hide_banner -loglevel panic -stream_loop -1 -re -f concat -safe 0 -i list.txt -vcodec libx264 -profile:v main -sc_threshold 0 -b:v 1300k -preset ultrafast -acodec aac -b:a 192k -x264opts keyint=50 -g 25 -pix_fmt yuv420p -f flv $DESTINATION_HOST |
|
|
|
|
ffmpeg -hide_banner -loglevel panic -stream_loop -1 -re -f concat -safe 0 -i list.txt -vcodec libx264 -profile:v main -sc_threshold 0 -b:v 1300k -preset veryfast -acodec copy -f flv $DESTINATION_HOST |
|
|
|
|