nellinux
Digital-Forum New User
- Registrato
- 20 Giugno 2010
- Messaggi
- 1
Ciao a tutti,
posto per la prima volta in DF.
Ho un problema con la struttura dati prodotta in fase di registrazione dal ricevitore terrestre Tele system TS6290.
Ogni registrazione è posta in una directory a se', contenente una serie di file con estensione MPG ed un file con nome INFO.DVR.
Dalle ricerche fatte in rete ho appreso che tali file non sono MPEG standard PS o TS.
In questo sito:
http://www.eurosat-online.it/articoli/0,1254,39_ART_5615,00.html
si fa riferimento ad un formato DVR di cui non ho trovato le specifiche.
Il mio problema è che, come spesso accade,i file MPEG generati da questo genere di apparati hanno problemi di sincronizzazione che ne rendono problematica la manipolazione con Avidemux.
Fino ad ora ho sempre risolto questi problemi procedendo al demultiplexing con ProjectX, in modo da generare i flusso audio e video separati e correti, per poi effettuare il multiplexing con Mplex in modo da ottenere un file MPEG corretto e sincronizzato da potere manipolare con Avidemux.
Tale procedura non funziona più con i file MPG generati dal TS6290.
Qualcuno può aiutarmi ?
Grazie.
N.
P.S.
Per chi è interessato riporto di seguito il programma con cui effettuo normalmente le suddette operazioni di correzione.
-------------------------------------------------------------------------------------------------------
#!/bin/sh
#
# $Id: remux,v 1.9 2010/06/19 07:31:25 tnx Exp $
#
#
# Configurazione ambiente
#
APP_NAME=($basename $0)
PROJECTX='/usr/local/src/ProjectX_Source_0.90.4/ProjectX.jar'
function version {
v=$(sed -n /^#.*Id:/p $APP_NAME)
echo $v | sed 's/.*Id://'
}
function usage {
cat <<EOF
USO:
$(basename $0) [OPZIONI] MUXED_CONTAINER
OPZIONI:
-c to do not clear temporary objects
-d to specify a temporary file directory
-h this help page
-o to specify an output file
-V print program version
EOF
exit 1
}
function print_params {
cat <<EOF
name: $name
input file: $input_file
output file: $output_file
clear: $clear_temp
temp dir: $temp_dir
PROJECTX: $PROJECTX
EOF
}
function execterm {
echo $1
print_params
echo "Execution terminated."
exit -1
}
#### MAIN ###
EXIT_SUCCESS=0
NOOP=0
PWD=`pwd`
#
# Gestione dei parametri e delle opzioni
#
while getopts ":hVcd
:" option; do
case $option in
c) clear_temp='f'
;;
d) temp_dir=$OPTARG
;;
o) output_file=$OPTARG
;;
h) usage
exit $EXIT_SUCCESS
;;
V) version
exit $EXIT_SUCCESS
;;
esac
done
shift $(($OPTIND - 1))
#
# Inizializzazione parametri e controllo validita'
#
input_file=$1
output_file=${output_file:=$1.rmx}
temp_dir=${temp_dir:=$PWD}
clear_temp=${clear_temp:='t'}
name=${input_file%.*}
[ -r $1 ] || execterm "The file $1 is not redeable or does not exist."
[ "$1" == "" ] && usage #execterm "You must specify a file (MUXED_CONTAINER) to remux."
mkdir -p $temp_dir || execterm "The directory $temp_dir is not writable or does not exist."
[ "$input_file" == "$output_file" ] && execterm "Input and output files are the same ($input_file)."
[ -r $PROJECTX ] || execterm "The file $PROJECTX is not readable or does not exist."
print_params
#
# Elaborazione
#
java -jar $PROJECTX -out $temp_dir $input_file \
&& mplex -f8 -o $output_file $temp_dir/$name.mp2 $temp_dir/$name.m2v
#
# Cancello gli oggetti temporanei
# (opzione -c)
#
if [ "$clear_temp" == "t" ]; then
rm $temp_dir/$name.mp2
rm $temp_dir/$name.m2v
rm "$temp_dir/$name"_log.txt
fi
--------------------------------------------------------------------------------------------------------
posto per la prima volta in DF.
Ho un problema con la struttura dati prodotta in fase di registrazione dal ricevitore terrestre Tele system TS6290.
Ogni registrazione è posta in una directory a se', contenente una serie di file con estensione MPG ed un file con nome INFO.DVR.
Dalle ricerche fatte in rete ho appreso che tali file non sono MPEG standard PS o TS.
In questo sito:
http://www.eurosat-online.it/articoli/0,1254,39_ART_5615,00.html
si fa riferimento ad un formato DVR di cui non ho trovato le specifiche.
Il mio problema è che, come spesso accade,i file MPEG generati da questo genere di apparati hanno problemi di sincronizzazione che ne rendono problematica la manipolazione con Avidemux.
Fino ad ora ho sempre risolto questi problemi procedendo al demultiplexing con ProjectX, in modo da generare i flusso audio e video separati e correti, per poi effettuare il multiplexing con Mplex in modo da ottenere un file MPEG corretto e sincronizzato da potere manipolare con Avidemux.
Tale procedura non funziona più con i file MPG generati dal TS6290.
Qualcuno può aiutarmi ?
Grazie.
N.
P.S.
Per chi è interessato riporto di seguito il programma con cui effettuo normalmente le suddette operazioni di correzione.
-------------------------------------------------------------------------------------------------------
#!/bin/sh
#
# $Id: remux,v 1.9 2010/06/19 07:31:25 tnx Exp $
#
#
# Configurazione ambiente
#
APP_NAME=($basename $0)
PROJECTX='/usr/local/src/ProjectX_Source_0.90.4/ProjectX.jar'
function version {
v=$(sed -n /^#.*Id:/p $APP_NAME)
echo $v | sed 's/.*Id://'
}
function usage {
cat <<EOF
USO:
$(basename $0) [OPZIONI] MUXED_CONTAINER
OPZIONI:
-c to do not clear temporary objects
-d to specify a temporary file directory
-h this help page
-o to specify an output file
-V print program version
EOF
exit 1
}
function print_params {
cat <<EOF
name: $name
input file: $input_file
output file: $output_file
clear: $clear_temp
temp dir: $temp_dir
PROJECTX: $PROJECTX
EOF
}
function execterm {
echo $1
print_params
echo "Execution terminated."
exit -1
}
#### MAIN ###
EXIT_SUCCESS=0
NOOP=0
PWD=`pwd`
#
# Gestione dei parametri e delle opzioni
#
while getopts ":hVcd
case $option in
c) clear_temp='f'
;;
d) temp_dir=$OPTARG
;;
o) output_file=$OPTARG
;;
h) usage
exit $EXIT_SUCCESS
;;
V) version
exit $EXIT_SUCCESS
;;
esac
done
shift $(($OPTIND - 1))
#
# Inizializzazione parametri e controllo validita'
#
input_file=$1
output_file=${output_file:=$1.rmx}
temp_dir=${temp_dir:=$PWD}
clear_temp=${clear_temp:='t'}
name=${input_file%.*}
[ -r $1 ] || execterm "The file $1 is not redeable or does not exist."
[ "$1" == "" ] && usage #execterm "You must specify a file (MUXED_CONTAINER) to remux."
mkdir -p $temp_dir || execterm "The directory $temp_dir is not writable or does not exist."
[ "$input_file" == "$output_file" ] && execterm "Input and output files are the same ($input_file)."
[ -r $PROJECTX ] || execterm "The file $PROJECTX is not readable or does not exist."
print_params
#
# Elaborazione
#
java -jar $PROJECTX -out $temp_dir $input_file \
&& mplex -f8 -o $output_file $temp_dir/$name.mp2 $temp_dir/$name.m2v
#
# Cancello gli oggetti temporanei
# (opzione -c)
#
if [ "$clear_temp" == "t" ]; then
rm $temp_dir/$name.mp2
rm $temp_dir/$name.m2v
rm "$temp_dir/$name"_log.txt
fi
--------------------------------------------------------------------------------------------------------