Я написал пару сценариев оболочки, чтобы получить пропускную способность с USB-устройства. Если кто-то использует его, вы можете найти его в этом сообщении.
getUsb.sh
#!/bin/bash
COUNTER=0;
# first get USB devices
IFS=$'\n'
USBDEVICES=$( lsusb | grep -v "0000:0000" | grep -iv "hub" )
CHOOSED_DEVICE=$(zenity --list --width=700 --height=500 --title "Connected USB devices" --column="Devices" ${USBDEVICES[@]})
unset IFS
echo ${CHOOSED_DEVICE}
echo ${CHOOSED_DEVICE} | cut -d: -f 1 | read
BUS=`echo ${CHOOSED_DEVICE} | cut -d: -f 1 | cut -d\ -f 2`
DEVICE=`echo ${CHOOSED_DEVICE} | cut -d: -f 1 | cut -d\ -f 4`
let BUS=$BUS+0
echo $BUS
echo $DEVICE
# create data to pipe
let totalIN=0;
let totalOUT=0;
echo "usbmon -i ${BUS} | grep "C Bo:${BUS}:${DEVICE}" ";
usbmon -i ${BUS} | grep "C B" | grep "${BUS}:${DEVICE}" | while read garb1 garb2 garb3 status garb5 value finalGarb; do
if [[ $status =~ "Bo" ]]; then
let totalIN=$totalIN+$value
echo $totalIN > /tmp/counterUsbIN
elif [[ $status =~ "Bi" ]]; then
let totalOUT=$totalOUT+$value
echo $totalOUT > /tmp/counterUsbOUT
else
echo "discarded"
continue;
fi
done
getUsb.sh
[ f2]Вы можете установить интернет-кодировщик мультимедиа:
Запустите эти команды в своем терминале:
sudo add-apt-repository -y ppa:upubuntu-com/multimedia
sudo apt-get update
sudo apt-get install ifme
] Теперь вы можете открыть программу ifme из Dash.
После того, как вы скомпилировали программу, следуя инструкциям в здесь или здесь, сначала вы должны закодировать видео в формате YUV:
avconv -i MyVideo.mp4 MyVideo.yuv
Затем вы можете конвертировать видео YUV в формат x265:
./x265 --input-res 640x360 --fps 24000/100 MyVideo.yuv -o MyVideo.h265
Этот скрипт работал для меня:
ffmpeg -i input_file.mpg -pix_fmt yuv420p -f yuv4mpegpipe - |\
x265-10bit --profile main10 --preset slower --crf 20 --input - --y4m -o output_file.mpg