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

Computer Boards Inc 3495 Analog Input Board ISA Bus
$365.0
Computer Boards Inc 3495 Analog Input Board ISA Bus picturePCIM-DDA06/16 MI1 194380A-01 Measurement Computing 6-Channel 16-Bit PCI Analog
$786.0
PCIM-DDA06/16 MI1 194380A-01 Measurement Computing 6-Channel 16-Bit PCI Analog pictureComputer Boards Inc. 9827 Rev 1 Analog Input Board ISA Bus
$297.0
Computer Boards Inc. 9827 Rev 1 Analog Input Board ISA Bus  pictureComputer Boards Inc. CIO-DAS1600/12 Analog and Digital I/O Board
$49.0
Computer Boards Inc. CIO-DAS1600/12 Analog and Digital I/O Board pictureMeasurement Computing PCI-DAS1602/16 Analog and Digital I/O Board
$349.99
Measurement Computing PCI-DAS1602/16 Analog and Digital I/O Board picture






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