|
|
|
@ -1,6 +1,7 @@
|
|
|
|
|
|
|
|
|
|
PATHRPI="/home/pi/RpiDATV"
|
|
|
|
|
CONFIGFILE=$PATHRPI"/rpidatvconfig.txt"
|
|
|
|
|
PATHRPI="/home/pi/rpidatv/bin"
|
|
|
|
|
PATHSCRIPT="/home/pi/rpidatv/scripts"
|
|
|
|
|
CONFIGFILE=$PATHSCRIPT"/rpidatvconfig.txt"
|
|
|
|
|
|
|
|
|
|
get_config_var() {
|
|
|
|
|
lua - "$1" "$2" <<EOF
|
|
|
|
@ -19,7 +20,7 @@ EOF
|
|
|
|
|
# ########################## SURE TO KILL ALL PROCESS ################
|
|
|
|
|
sudo killall ffmpeg >/dev/null 2>/dev/null
|
|
|
|
|
sudo killall h264 >/dev/null 2>/dev/null
|
|
|
|
|
sudo killall RpiDATV >/dev/null 2>/dev/null
|
|
|
|
|
sudo killall rpidatv >/dev/null 2>/dev/null
|
|
|
|
|
sudo killall cat >/dev/null 2>/dev/null
|
|
|
|
|
sudo killall hello_encode.bin >/dev/null 2>/dev/null
|
|
|
|
|
sudo killall h264yuv >/dev/null 2>/dev/null
|
|
|
|
@ -48,7 +49,7 @@ TSVIDEOFILE=$(get_config_var tsvideofile $CONFIGFILE)
|
|
|
|
|
PATERNFILE=$(get_config_var paternfile $CONFIGFILE)
|
|
|
|
|
UDPINADDR=$(get_config_var udpinaddr $CONFIGFILE)
|
|
|
|
|
CALL=$(get_config_var call $CONFIGFILE)
|
|
|
|
|
CHANNEL=$CALL"-RPIDATV"
|
|
|
|
|
CHANNEL=$CALL"-rpidatv"
|
|
|
|
|
FREQ_OUTPUT=$(get_config_var freqoutput $CONFIGFILE)
|
|
|
|
|
BATC_OUTPUT=$(get_config_var batcoutput $CONFIGFILE)
|
|
|
|
|
OUTPUT_BATC="-f flv rtmp://fms.batc.tv/live/"$BATC_OUTPUT"/"$BATC_OUTPUT
|
|
|
|
@ -117,7 +118,7 @@ esac
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#CALL="F5OEO"
|
|
|
|
|
#CHANNEL="RPIDATV"
|
|
|
|
|
#CHANNEL="rpidatv"
|
|
|
|
|
|
|
|
|
|
#SYMBOLRATE=100000
|
|
|
|
|
#FECNUM=7
|
|
|
|
@ -177,7 +178,7 @@ mkfifo videots
|
|
|
|
|
mkfifo netfifo
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
echo $PATHRPI"/RpiDATV" videots $SYMBOLRATE_K $FECNUM 0 $FREQUENCY_OUT $GAIN $DIGITHIN_MODE
|
|
|
|
|
echo $PATHRPI"/rpidatv" videots $SYMBOLRATE_K $FECNUM 0 $FREQUENCY_OUT $GAIN $DIGITHIN_MODE
|
|
|
|
|
echo "************************************"
|
|
|
|
|
echo $BITRATE_TS
|
|
|
|
|
echo "************************************"
|
|
|
|
@ -188,24 +189,24 @@ case "$MODE_INPUT" in
|
|
|
|
|
let BITRATE_TS=SYMBOLRATE*2*188*FECNUM/204/FECDEN-1*SYMBOLRATE*2*188*FECNUM/204/FECDEN/100
|
|
|
|
|
if [ "$AUDIO_CARD" == 0 ]; then
|
|
|
|
|
# ******************************* VIDEO ONLY ************************************
|
|
|
|
|
sudo nice -n -30 $PATHRPI"/h264" videoes $BITRATE_VIDEO $VIDEO_WIDTH $VIDEO_HEIGHT &
|
|
|
|
|
#sudo nice -n -30 $PATHRPI"/h264" videoes $BITRATE_VIDEO $VIDEO_WIDTH $VIDEO_HEIGHT &
|
|
|
|
|
VIDEO_FPS=25
|
|
|
|
|
#sudo modprobe bcm2835-v4l2
|
|
|
|
|
#v4l2-ctl --set-fmt-video=width=$VIDEO_WIDTH,height=$VIDEO_HEIGHT,pixelformat=4
|
|
|
|
|
#v4l2-ctl --set-parm=$VIDEO_FPS
|
|
|
|
|
#v4l2-ctl --set-ctrl video_bitrate=$BITRATE_VIDEO
|
|
|
|
|
#v4l2-ctl --set-ctrl repeat_sequence_header=1
|
|
|
|
|
#v4l2-ctl --overlay=1
|
|
|
|
|
#sudo nice -n -30 cat /dev/video0 > videoes &
|
|
|
|
|
sudo modprobe bcm2835-v4l2
|
|
|
|
|
v4l2-ctl --set-fmt-video=width=$VIDEO_WIDTH,height=$VIDEO_HEIGHT,pixelformat=4
|
|
|
|
|
v4l2-ctl --set-parm=$VIDEO_FPS
|
|
|
|
|
v4l2-ctl --set-ctrl video_bitrate=$BITRATE_VIDEO
|
|
|
|
|
v4l2-ctl --set-ctrl repeat_sequence_header=1
|
|
|
|
|
v4l2-ctl --overlay=1
|
|
|
|
|
sudo nice -n -30 cat /dev/video0 > videoes &
|
|
|
|
|
|
|
|
|
|
########### TEST UV4L ############################
|
|
|
|
|
#uv4l --driver raspicam --auto-video_nr --encoding h264 --width $VIDEO_WIDTH --height $VIDEO_HEIGHT --framerate 25 --bitrate $BITRATE_VIDEO --inline-headers --text-overlay --text-filename /home/pi/RpiDATV/text.json
|
|
|
|
|
#uv4l --driver raspicam --auto-video_nr --encoding h264 --width $VIDEO_WIDTH --height $VIDEO_HEIGHT --framerate 25 --bitrate $BITRATE_VIDEO --inline-headers --text-overlay --text-filename /home/pi/rpidatv/text.json
|
|
|
|
|
#cat /dev/video0 > videoes &
|
|
|
|
|
|
|
|
|
|
#./tsudpsend videots 230.0.0.2 10000 $BITRATE_TS &
|
|
|
|
|
#$PATHRPI"/mnc" -l -p 10000 230.0.0.2 > netfifo &
|
|
|
|
|
|
|
|
|
|
sudo $PATHRPI"/RpiDATV" videots $SYMBOLRATE_K $FECNUM 0 $FREQUENCY_OUT $GAIN $DIGITHIN_MODE &
|
|
|
|
|
sudo $PATHRPI"/rpidatv" videots $SYMBOLRATE_K $FECNUM 0 $FREQUENCY_OUT $GAIN $DIGITHIN_MODE &
|
|
|
|
|
sudo nice -n -30 $PATHRPI"/ffmpeg" -loglevel $MODE_DEBUG -analyzeduration 100 -probesize 2048 -ac 1 -thread_queue_size 512 -f lavfi -i "sine=frequency=500:beep_factor=4:sample_rate=48000:duration=3600" -r 25 -async 25 -fpsprobesize 0 -analyzeduration 0 -i videoes -f h264 -r $VIDEO_FPS -vcodec copy -blocksize 1880 -strict experimental -acodec mp2 -ab 64K -ar 48k -ac 1 -f mpegts -blocksize 1880 -mpegts_original_network_id 1 -mpegts_transport_stream_id 1 -mpegts_service_id $SERVICEID -mpegts_pmt_start_pid $PIDPMT -mpegts_start_pid $PIDVIDEO -metadata service_provider=$CALL -metadata service_name=$CHANNEL -bufsize 1880 -muxrate $BITRATE_TS -y $OUTPUT &
|
|
|
|
|
else
|
|
|
|
|
echo cam with audio
|
|
|
|
@ -218,7 +219,7 @@ sudo modprobe bcm2835-v4l2
|
|
|
|
|
#v4l2-ctl --set-ctrl repeat_sequence_header=1
|
|
|
|
|
#sudo nice -n -30 cat /dev/video0 > videoes &
|
|
|
|
|
|
|
|
|
|
sudo $PATHRPI"/RpiDATV" videots $SYMBOLRATE_K $FECNUM 0 $FREQUENCY_OUT $GAIN $DIGITHIN_MODE &
|
|
|
|
|
sudo $PATHRPI"/rpidatv" videots $SYMBOLRATE_K $FECNUM 0 $FREQUENCY_OUT $GAIN $DIGITHIN_MODE &
|
|
|
|
|
sudo nice -n -30 arecord -f S16_LE -r 48000 -c 1 -M -D hw:1 | sudo nice -n -30 $PATHRPI"/ffmpeg" -loglevel $MODE_DEBUG -itsoffset -00:00:0.8 -analyzeduration 0 -probesize 2048 -fpsprobesize 0 -ac 1 -thread_queue_size 512 -i - -analyzeduration 0 -probesize 2048 -r 25 -fpsprobesize 0 -i videoes -max_delay 0 -f h264 -r $VIDEO_FPS -vcodec copy -blocksize 1504 -strict experimental -async 2 -acodec mp2 -ab 64K -ar 48k -ac 1 -flags -global_header -f mpegts -blocksize 1504 -mpegts_original_network_id 1 -mpegts_transport_stream_id 1 -mpegts_service_id $SERVICEID -mpegts_pmt_start_pid $PIDPMT -mpegts_start_pid $PIDVIDEO -metadata service_provider=$CALL -metadata service_name=$CHANNEL -bufsize 1880 -muxrate $BITRATE_TS -y $OUTPUT &
|
|
|
|
|
fi
|
|
|
|
|
;;
|
|
|
|
@ -232,7 +233,7 @@ VIDEO_FPS=25
|
|
|
|
|
echo MPEG-2
|
|
|
|
|
if [ "$AUDIO_CARD" == 1 ]; then
|
|
|
|
|
#-------------- WITHH SOUNDCARD ------------
|
|
|
|
|
sudo $PATHRPI"/RpiDATV" videots $SYMBOLRATE_K $FECNUM 0 $FREQUENCY_OUT $GAIN $DIGITHIN_MODE &
|
|
|
|
|
sudo $PATHRPI"/rpidatv" videots $SYMBOLRATE_K $FECNUM 0 $FREQUENCY_OUT $GAIN $DIGITHIN_MODE &
|
|
|
|
|
sudo modprobe bcm2835-v4l2
|
|
|
|
|
v4l2-ctl --set-fmt-video=width=$VIDEO_WIDTH,height=$VIDEO_HEIGHT,pixelformat=0
|
|
|
|
|
v4l2-ctl --set-parm=$VIDEO_FPS
|
|
|
|
@ -243,7 +244,7 @@ else
|
|
|
|
|
#---------------- WITH AUDIO TONE -------------
|
|
|
|
|
#buffer -s 1880 -b 100 < videots >netfifo &
|
|
|
|
|
|
|
|
|
|
sudo $PATHRPI"/RpiDATV" videots $SYMBOLRATE_K $FECNUM 0 $FREQUENCY_OUT $GAIN $DIGITHIN_MODE &
|
|
|
|
|
sudo $PATHRPI"/rpidatv" videots $SYMBOLRATE_K $FECNUM 0 $FREQUENCY_OUT $GAIN $DIGITHIN_MODE &
|
|
|
|
|
sudo modprobe bcm2835-v4l2
|
|
|
|
|
v4l2-ctl --set-fmt-video=width=352,height=288,pixelformat=0
|
|
|
|
|
v4l2-ctl --set-parm=15
|
|
|
|
@ -271,7 +272,7 @@ FPS=0.5
|
|
|
|
|
|
|
|
|
|
#buffer -s 188 -m 188000 < videots >netfifo &
|
|
|
|
|
let BITRATE_TS=SYMBOLRATE*2*188*FECNUM/204/FECDEN
|
|
|
|
|
sudo $PATHRPI"/RpiDATV" videots $SYMBOLRATE_K $FECNUM 0 $FREQUENCY_OUT $GAIN $DIGITHIN_MODE &
|
|
|
|
|
sudo $PATHRPI"/rpidatv" videots $SYMBOLRATE_K $FECNUM 0 $FREQUENCY_OUT $GAIN $DIGITHIN_MODE &
|
|
|
|
|
#sudo nice -n -30 $PATHRPI"/ffmpeg" -loglevel $MODE_DEBUG -probesize 2048 -re -fflags flush_packets -f image2 -r $FPS -video_size "$VIDEO_WIDTH"x"$VIDEO_HEIGHT" -loop 1 -i $PATERNFILE -vf scale="$VIDEO_WIDTH":"$VIDEO_HEIGHT" -vcodec mpeg2video -r $FPS -s "$VIDEO_WIDTH"x"$VIDEO_HEIGHT" -b:v $BITRATE_VIDEO -minrate:v $BITRATE_VIDEO -maxrate:v $BITRATE_VIDEO -f mpegts -mpegts_original_network_id 1 -mpegts_transport_stream_id 1 -mpegts_service_id 100 -mpegts_pmt_start_pid $PIDPMT -mpegts_start_pid $PIDVIDEO -metadata service_provider=$CALL -metadata service_name=$CHANNEL -muxrate $BITRATE_TS -y $OUTPUT &
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -294,7 +295,7 @@ sudo nice -n -30 $PATHRPI"/ffmpeg" -loglevel $MODE_DEBUG -probesize 2048 -itsof
|
|
|
|
|
"PATERNH264")
|
|
|
|
|
sudo nice -n -30 $PATHRPI"/ffmpeg" -loglevel $MODE_DEBUG -i $PATERNFILE -vf scale=352:288 -pix_fmt yuv420p -y patern.yuv
|
|
|
|
|
$PATHRPI"/h264yuv" videoes patern.yuv &
|
|
|
|
|
sudo sudo $PATHRPI"/RpiDATV" videots $SYMBOLRATE_K $FECNUM 0 $FREQUENCY_OUT $GAIN $DIGITHIN_MODE &
|
|
|
|
|
sudo sudo $PATHRPI"/rpidatv" videots $SYMBOLRATE_K $FECNUM 0 $FREQUENCY_OUT $GAIN $DIGITHIN_MODE &
|
|
|
|
|
sudo nice -n -30 $PATHRPI"/ffmpeg" -loglevel $MODE_DEBUG -analyzeduration 0 -probesize 2048 -r 25 -async 25 -fpsprobesize 0 -i videoes -max_delay 0 -fflags nobuffer -f h264 -r $VIDEO_FPS -vcodec copy -blocksize 1504 -f mpegts -max_delay $DELAY -blocksize 1504 -mpegts_original_network_id 1 -mpegts_transport_stream_id 1 -mpegts_service_id $SERVICEID -mpegts_pmt_start_pid $PIDPMT -mpegts_start_pid $PIDVIDEO -metadata service_provider=$CALL -metadata service_name=$CHANNEL -bufsize 1880 -muxrate $BITRATE_TS -y $OUTPUT &
|
|
|
|
|
;;
|
|
|
|
|
|
|
|
|
@ -302,7 +303,7 @@ sudo nice -n -30 $PATHRPI"/ffmpeg" -loglevel $MODE_DEBUG -analyzeduration 0 -pr
|
|
|
|
|
"OLDPATERNAUDIOH264")
|
|
|
|
|
$PATHRPI"/ffmpeg" -loglevel $MODE_DEBUG -i $PATERNFILE -vf scale=1440:720 -pix_fmt yuv420p -y patern.yuv
|
|
|
|
|
$PATHRPI"/h264yuv" videoes patern.yuv 1440 720 $BITRATE_VIDEO 1 &
|
|
|
|
|
sudo $PATHRPI"/RpiDATV" videots $SYMBOLRATE_K $FECNUM 0 $FREQUENCY_OUT $GAIN $DIGITHIN_MODE &
|
|
|
|
|
sudo $PATHRPI"/rpidatv" videots $SYMBOLRATE_K $FECNUM 0 $FREQUENCY_OUT $GAIN $DIGITHIN_MODE &
|
|
|
|
|
sudo nice -n -30 $PATHRPI"/ffmpeg" -loglevel $MODE_DEBUG -probesize 2048 -ac 1 -f lavfi -thread_queue_size 512 -i "sine=frequency=500:beep_factor=4:sample_rate=48000:duration=3600" -f h264 -r 1 -analyzeduration 0 -thread_queue_size 512 -i videoes -f h264 -r 1 -vcodec copy -strict experimental -acodec mp2 -ab 64K -ar 48k -ac 1 -flags -global_header -f mpegts -blocksize 1504 -mpegts_original_network_id 1 -mpegts_transport_stream_id 1 -mpegts_service_id 100 -mpegts_pmt_start_pid $PIDPMT -mpegts_start_pid $PIDVIDEO -metadata service_provider=$CALL -metadata service_name=$CHANNEL -muxrate $BITRATE_TS -y $OUTPUT &
|
|
|
|
|
;;
|
|
|
|
|
|
|
|
|
@ -310,7 +311,7 @@ sudo nice -n -30 $PATHRPI"/ffmpeg" -loglevel $MODE_DEBUG -probesize 2048 -ac 1
|
|
|
|
|
|
|
|
|
|
# *********************************** TRANSPORT STREAM INPUT THROUGH IP ******************************************
|
|
|
|
|
"IPTSIN")
|
|
|
|
|
sudo $PATHRPI"/RpiDATV" videots $SYMBOLRATE_K $FECNUM 0 $FREQUENCY_OUT $GAIN $DIGITHIN_MODE &
|
|
|
|
|
sudo $PATHRPI"/rpidatv" videots $SYMBOLRATE_K $FECNUM 0 $FREQUENCY_OUT $GAIN $DIGITHIN_MODE &
|
|
|
|
|
PORT=10000
|
|
|
|
|
$PATHRPI"/mnc" -l -i eth0 -p $PORT $UDPINADDR > videots &
|
|
|
|
|
;;
|
|
|
|
@ -318,18 +319,18 @@ $PATHRPI"/mnc" -l -i eth0 -p $PORT $UDPINADDR > videots &
|
|
|
|
|
# *********************************** TRANSPORT STREAM INPUT FILE ******************************************
|
|
|
|
|
"FILETS")
|
|
|
|
|
|
|
|
|
|
sudo $PATHRPI"/RpiDATV" $TSVIDEOFILE $SYMBOLRATE_K $FECNUM 1 $FREQUENCY_OUT $GAIN $DIGITHIN_MODE &
|
|
|
|
|
sudo $PATHRPI"/rpidatv" $TSVIDEOFILE $SYMBOLRATE_K $FECNUM 1 $FREQUENCY_OUT $GAIN $DIGITHIN_MODE &
|
|
|
|
|
;;
|
|
|
|
|
|
|
|
|
|
# *********************************** CARRIER ******************************************
|
|
|
|
|
"CARRIER")
|
|
|
|
|
echo ====================== CARRIER ==========================
|
|
|
|
|
sudo $PATHRPI"/RpiDATV" $TSVIDEOFILE $SYMBOLRATE_K 0 1 $FREQUENCY_OUT $GAIN $DIGITHIN_MODE &
|
|
|
|
|
sudo $PATHRPI"/rpidatv" $TSVIDEOFILE $SYMBOLRATE_K 0 1 $FREQUENCY_OUT $GAIN $DIGITHIN_MODE &
|
|
|
|
|
;;
|
|
|
|
|
|
|
|
|
|
# *********************************** TESTMODE ******************************************
|
|
|
|
|
"TESTMODE")
|
|
|
|
|
sudo $PATHRPI"/RpiDATV" $TSVIDEOFILE $SYMBOLRATE_K -$FECNUM 1 $FREQUENCY_OUT $GAIN $DIGITHIN_MODE &
|
|
|
|
|
sudo $PATHRPI"/rpidatv" $TSVIDEOFILE $SYMBOLRATE_K -$FECNUM 1 $FREQUENCY_OUT $GAIN $DIGITHIN_MODE &
|
|
|
|
|
;;
|
|
|
|
|
|
|
|
|
|
# *********************************** BATC ******************************************
|
|
|
|
@ -346,7 +347,7 @@ esac
|
|
|
|
|
|
|
|
|
|
#sudo killall ffmpeg
|
|
|
|
|
#sudo killall h264
|
|
|
|
|
#sudo killall RpiDATV
|
|
|
|
|
#sudo killall rpidatv
|
|
|
|
|
#sudo killall cat
|
|
|
|
|
#sudo killall hello_encode.bin
|
|
|
|
|
|
|
|
|
|