BlackBerry Forums Support Community
              

Closed Thread
 
LinkBack Thread Tools
Old 10-11-2009, 08:01 PM   #1 (permalink)
New Member
 
Join Date: Oct 2009
Model: 8310
PIN: N/A
Carrier: AT&T
Posts: 1
Post Thanks: 0
Thanked 0 Times in 0 Posts
Default Blackberry Video Converter script - Linux

Please Login to Remove!

This is a script I made and have been using for a while. I figured I'd post it here in hopes that it will be of use to others. It converts videos to what I've found to be the best for playback on my Blackberry Curve. The quality is high enough to allow you to enjoy your videos while being modest enough not to slow down your phone during playback.

Simply put videos into ~/Videos/blackberry-video-converter/input and run the script. You'll find your converted videos in ~/Videos/blackberry-video-converter/output.

You must have ffmpeg and libfaac installed on your system.

Enjoy!

Code:
#!/bin/bash


## This script uses ffmpeg to convert video files for playback on Blackberry smartphones.
## By Todd Stein


# INITIALIZATION
rootDir="${HOME}/Videos/blackberry-video-converter"
inputDir="${rootDir}/input"
outputDir="${rootDir}/output"
workingSymbols=( "." "-" "+" "*" "*" "+" "-" )

mkdir -p ${inputDir}
mkdir -p ${outputDir}



# CONVERT FILES (simultaneously)
cd ${inputDir}
for i in *; do

	if [[ -f ${i} ]]; then

		printf "\nStarting converstion of ${i}"
		{
			rm -f "${outputDir}/${i%.*}.mp4" # remove existing output
			ffmpeg -i "${inputDir}/${i}" -vcodec mpeg4 -s qvga -r 16 -acodec libfaac -ar 22050 -ac 2 -ab 48k "${outputDir}/${i%.*}.mp4" &> /dev/null # convert the video
		} &
		children="${children}${!} " # collect PIDs of children

	else

		printf "\nNo files to convert!\n\n"
		exit 1

	fi
done



# WAIT FOR CONVERSION TO FINISH
printf "\n\nConverting, please wait...  "
allDone="0"
until [[ ${allDone} -eq 1 ]]; do

	# if the first PID in the children PID list no longer exists, remove it from the list
	if ! ps -p $(echo ${children} | cut -f1 -d" ") &> /dev/null; then
		children=$(echo ${children#$(echo ${children} | cut -f1 -d" ")})
	fi

	# bounce the working ball
	for (( i=0; ${i}<${#workingSymbols[*]}; i++ )); do
		printf "\b \b${workingSymbols[${i}]}"
		sleep .1
	done

	# if the child PID list is empty, we're done
	if [[ -z ${children} ]]; then
		allDone="1"
		printf "\bDone!\n\n"
	fi
done
Offline  
Closed Thread


Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Autumn Flowers waitress server waiter waist apron 3 pockets
$13.0
Autumn Flowers waitress server waiter waist apron 3 pockets pictureSkulls, Flowers & Bones -- Black apron waitress server waist apron 3 pockets
$13.0
Skulls, Flowers & Bones -- Black apron  waitress server waist apron 3 pockets pictureRestaurant Server Pager System with 3 Pagers
$517.18
Restaurant Server Pager System with 3 Pagers pictureCimFAX H5 Fax Server Fax from Computer Desktop Fax from Mobile APP Fax2email PDF
$772.41
CimFAX H5 Fax Server Fax from Computer Desktop Fax from Mobile APP Fax2email PDF pictureESI 100 Communication Server With Power Supply E2 624 PC 8 Port/140 HR Vmail
$1200.0
ESI 100 Communication Server With Power Supply E2 624 PC 8 Port/140 HR Vmail picture






Copyright 2004-2016 BlackBerryForums.com.
The names RIM and BlackBerry are registered Trademarks of BlackBerry Inc.