Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
(Audio)Aufnahmen mit Android synchronisieren
#1
Moinsen,

ich nehme gern Radiosendungen am VDR auf und höre sie dann am Androiden an - MX Player kann die VDR-Dateien *.ts wiedergeben. Die Dateien über ftp auf das Telephon zu kriegen geht zwar, ist aber ziemlich umständlich, v.a. deswegen, weil ich nicht das oberste Verzeichnis kopieren kann (werden die Dateipfade zu lang?), sondern immer die Verzeichnisse, in deren Namen nur Aufnahmedatum und -Uhrzeit codiert werden; so muß ich jede Aufnahme einzeln anfassen und kann nicht einen Schwung von zum Beispiel 10 Aufnahmen mit einem Handgriff übertragen.

Gibt es eine schöne Lösung für diese Aufgabe? - Bin aus meinen Googletreffern leider nicht schlau geworden.

Mit Dank und den besten Grüßen,
Wolf
easyVDR-Version: 2.5.0-stable
easyVDR-Installations-DVD: easyVDR-2.0-Desktop - 32 Bit
easyPortal-Version: 0.5.31-1easyVDR0~trusty
VDR-Version: 2.0.6
Kernel-Version: 3.12.0-7-generic
media-build-experimental-Version: nicht installiert
FF-Karte, DVB-C
Pentium IV, 1700MHz, 1,5GB RAM
Zitieren
#2
Hi,

(03.06.2016, 20:34)herrdeh schrieb: Gibt es eine schöne Lösung für diese Aufgabe?
...ja da gab es mal ein Script das Alle info(.vdr) Dateien durchsucht, wenn kein Video gefunden dann wird aus der 00001.ts oder besser 001.vdr
eine Datei <titel aufnahme>.vdr jetzt <titel aufnahme>.ts erstellt. Die Dateien werden dann in einem Rutsch in das angegebene Dir
kopiert. Das Script lies sich über das OSD-Menu starten. Die Preisfrage lautet nun, wo ist das Script abgeblieben. ...meine Suche  war bisher nicht erfolgreich!

Gruss
Wolfgang

Zitieren
#3
Das war der erste Teil der Lösung...

Zum Kopieren auf das Handy würde ich irgendein Sync-Tool verwenden wie z.B. pydio oder BTSync.
Dann kopierst du nur noch die gewünschten Dateien in einen Ordner auf dem VDR.
Seitens Handy gibt es dann eine App die sich die Dateien selber abholt...
Vorraussetzung: Handy und VDR sind zeitweise im selben Netz.
Grüße
Martin
-----------------------------------------------------------------------------------------------------------
Du brauchst Hilfe? Wir brauchen Daten! English-Version: Don't eat yellow snow!
Meine VDRs (Spoiler klicken) 

Zitieren
#4
Hallo,

ich nehme ebenfalls viele Radiosendungen auf und habe das gleiche Problem wie Du.

Mit der Zeit habe ich es folgendermaßen gelöst:
Audioaufnahmen werden in mp3 umgewandelt und anschließend in ein Unterverzeichnis des webservers des vdrs kopiert und es wird eine podcast-Datei erstellt. Somit habe ich meinen eigenen Podcast, den ich mir aufs Handy laden kann. Außerdem verpasse ich keine Aufnahme mehr.

Edit: Ach so, das Script läuft als hook nach jeder Aufnahme...


Zusätzlich lasse ich einen Mediaserver (Mediatomb) laufen, der die mp3-Dateien indiziert. Den kann ich mit 'nem normalen mp3-Player auf meinem Handy als "Heimnetzwerk" öffnen und habe anschließend Zugriff auf alle alten Aufnahmen.

Hier das Script, um in mp3 umzuwandeln, allerdings ist das sehr unschön Smile Im vdr-Board gibt es gerade einen ähnlichen Thread mit 'nem schöneren Script...
Dies und der Mediatomb reichen, um die Aufnahmen auf dem Handy abzuspielen. Der podcast ist eher ein nice to have...

Code:
#!/bin/bash

LOGFILE=/var/log/convertToMp3.log
log(){
        message="$(date +"%Y-%m-%d_%H-%M-%S") - $@"
        echo $message
        echo $message >>$LOGFILE
}

log ""
log ""
log "---------------------Tach! Verzeichnis: ${1}--------------------"

#Basisverzeichnis, gequotet mittels printf
BASEDIR=$(printf %q ${1})
log "Basedir: ${BASEDIR}"

#Überprüfe die erste *.ts-Datei, ob typ video vorhanden. Wenn ja, steige aus, da anscheinend kein Radio.
ERSTE_DATEI=$(ls -t ${BASEDIR}/*.ts | head -n 1)
log "Teste, ob Datei: <${ERSTE_DATEI}> ein Video ist"

VIDEO=`ffprobe -loglevel error -show_entries stream=codec_type ${ERSTE_DATEI}`

log "ffprobe-String: <${VIDEO}>"

shopt -s nocasematch
if [[ ${VIDEO} =~ .*video.* ]]
then
        log "Video. Datei wird nicht konvertiert"
        exit 0
fi

log "Kein Video, konvertiere."


#Überprüfen, ob die info-Datei existiert. Wenn nicht, aussteigen

INFO_DATEI=$1/info
log "INFO-Datei: <${INFO_DATEI}>"

if [[ -f $INFO_DATEI ]]
#if [ -e $'/media/easyvdr01/video0/Radio/Rock\'n\'_Roll-Radio/2015.01.04-21:00-So/2015-01-04.20.58.24-0.rec/info' ]
then
        TITEL=$(sed -n 's/^T \(.*\)$/\1/p' <${INFO_DATEI})
        KURZTEXT=$(sed -n 's/^S \(.*\)$/\1/p' <${INFO_DATEI})
        BESCHREIBUNG=$(sed -n 's/^D \(.*\)$/\1/p' <${INFO_DATEI})
else
        log "Info-Datei nicht gefunden, Abbruch"
        exit 1
fi

GENRE="Radio"
JAHR=$(date +'%Y')

#Wenn mehrere ts-Dateien vorhanden sind, Dateien zusammenfügen
ANZAHL_DATEIEN=`ls -tr ${BASEDIR}/*.ts | wc -l`

if [ $ANZAHL_DATEIEN -gt 1 ];
then
        for ts in ${BASEDIR}/*.ts;
        do
                log "Verarbeite: ${ts}"
                cat ${ts} >> "${BASEDIR}/stream.ts"
                rm -f ${ts};
        done
fi

#Jetzt ist nur eine ts-Datei vorhanden, ermittle den Namen
TSDATEI=`ls ${BASEDIR}/*.ts`

#Das Datum wird aus dem Verzeichnispfad der Aufnahme ermittelt. Uhrzeit und .rec werden entfernt
DATUM=${BASEDIR##*/}
DATUM=${DATUM:0:10}

#Wenn das Datum weniger als 10 Zeichen hat, nehme aktuelles Datum.
if ((${#DATUM} < 10))
then
        DATUM=$(date +'%Y-%m-%d')
fi

MP3NAMEWOSUFFIX="${DATUM}_${KURZTEXT}_${TITEL}"
MP3NAMEWOSUFFIX=$(echo ${MP3NAMEWOSUFFIX} | sed 's/[\(\)\/]/_/g')
MP3FILE=${MP3NAMEWOSUFFIX}.mp3
FLACFILE="${MP3NAMEWOSUFFIX}.flac"
AUDIODIR="/var/www/audiorecorder"
FLACDIR="/var/www/audiorecorder"

if [ -e "${AUDIODIR}/${MP3FILE}" ]
then
        COUNTER=2
        MP3FILE="${MP3NAMEWOSUFFIX}(${COUNTER}).mp3"
        FLACFILE="${MP3NAMEWOSUFFIX}(${COUNTER}).flac"

        while [ -e "${AUDIODIR}/${MP3FILE}" ]
        do
                ${COUNTER} = ${COUNTER} + 1
                MP3FILE="${MP3NAMEWOSUFFIX}(${COUNTER}).mp3"
                FLACFILE="${MP3NAMEWOSUFFIX}(${COUNTER}).flac"
        done
fi

ffmpeg -i "${TSDATEI}" -ac 2 -qscale:a 2 -ar 48000 "${AUDIODIR}/${MP3FILE}"

#ffmpeg -i "${TSDATEI}" -acodec flac -compression_level 6 "${FLACDIR}/${FLACFILE}"

##Schreibe id3-Tags

#Tags für mp3
/usr/bin/lltag \
--mp3 \
--yes \
-A "Audiorecorder" \
-t "${KURZTEXT}" \
-c "${BESCHREIBUNG}" \
"${AUDIODIR}/${MP3FILE}"

#Schreibrechte für User easyvdr
chmod 664 ${AUDIODIR}/${MP3FILE}

#Tags für flac
#/usr/bin/lltag \
#--flac \


                log "Verarbeite: ${ts}"
                cat ${ts} >> "${BASEDIR}/stream.ts"
                rm -f ${ts};
        done
fi

#Jetzt ist nur eine ts-Datei vorhanden, ermittle den Namen
TSDATEI=`ls ${BASEDIR}/*.ts`

#Das Datum wird aus dem Verzeichnispfad der Aufnahme ermittelt. Uhrzeit und .rec werden entfernt
DATUM=${BASEDIR##*/}
DATUM=${DATUM:0:10}

#Wenn das Datum weniger als 10 Zeichen hat, nehme aktuelles Datum.
if ((${#DATUM} < 10))
then
        DATUM=$(date +'%Y-%m-%d')
fi

MP3NAMEWOSUFFIX="${DATUM}_${KURZTEXT}_${TITEL}"
MP3NAMEWOSUFFIX=$(echo ${MP3NAMEWOSUFFIX} | sed 's/[\(\)\/]/_/g')
MP3FILE=${MP3NAMEWOSUFFIX}.mp3
FLACFILE="${MP3NAMEWOSUFFIX}.flac"
AUDIODIR="/var/www/audiorecorder"
FLACDIR="/var/www/audiorecorder"

if [ -e "${AUDIODIR}/${MP3FILE}" ]
then
        COUNTER=2
        MP3FILE="${MP3NAMEWOSUFFIX}(${COUNTER}).mp3"
        FLACFILE="${MP3NAMEWOSUFFIX}(${COUNTER}).flac"

        while [ -e "${AUDIODIR}/${MP3FILE}" ]
        do
                ${COUNTER} = ${COUNTER} + 1
                MP3FILE="${MP3NAMEWOSUFFIX}(${COUNTER}).mp3"
                FLACFILE="${MP3NAMEWOSUFFIX}(${COUNTER}).flac"
        done
fi

ffmpeg -i "${TSDATEI}" -ac 2 -qscale:a 2 -ar 48000 "${AUDIODIR}/${MP3FILE}"

#ffmpeg -i "${TSDATEI}" -acodec flac -compression_level 6 "${FLACDIR}/${FLACFILE}"

##Schreibe id3-Tags

#Tags für mp3
/usr/bin/lltag \
--mp3 \
--yes \
-A "Audiorecorder" \
-t "${KURZTEXT}" \
-c "${BESCHREIBUNG}" \
"${AUDIODIR}/${MP3FILE}"

#Schreibrechte für User easyvdr
chmod 664 ${AUDIODIR}/${MP3FILE}

#Tags für flac
#/usr/bin/lltag \
#--flac \

#Tags für flac
#/usr/bin/lltag \
#--flac \
#--yes \
#-A "Audiorecorder" \
#-t "${KURZTEXT}" \
#-c "${BESCHREIBUNG}" \
#"${FLACDIR}/${FLACFILE}"

#RSS File aktualisieren
log "RSS-Datei aktualisieren"

/var/lib/vdr/scripte/makeatomfile.pl --dir /var/www/audiorecorder --domain 192.168.178.25/audiorecorder --title "Cords Audiorecorder" --desc "Radioaufnahmen" > /var/www/podcast.xml

log "Erfolgreich beendet"


Das Script zum erstellen des Podcasts kann ich bei Bedarf ebenfalls posten, ich müsste allerdings erst ein paar Passwörter entfernen, das schaffe ich heute Mprgen nicht mehr...
Zitieren
#5
Moin, besten Dank für die Antworten. Muß mal ein bißchen drüber meditieren - dann werde ich wohl nochmal nachfragen, wie genau das gemacht wird.

Dank und Grüße,
herrdeh
easyVDR-Version: 2.5.0-stable
easyVDR-Installations-DVD: easyVDR-2.0-Desktop - 32 Bit
easyPortal-Version: 0.5.31-1easyVDR0~trusty
VDR-Version: 2.0.6
Kernel-Version: 3.12.0-7-generic
media-build-experimental-Version: nicht installiert
FF-Karte, DVB-C
Pentium IV, 1700MHz, 1,5GB RAM
Zitieren
#6
Moinsen, bin wieder da.

Bin mir nicht sicher, ob ich die *.ts-Dateien wirklich nach mp3 umschneiden soll:
  • Mein VDR läuft auf einem alten Pentium4, der wahrscheinlich reichlich Strom verbraucht,
  • mp3 ist für Sprache nicht so optimal, und ich habe fast ausschleßlich Wortsendungen
  • MediaPlayer MX kann ts prima abspielen - warum also der Aufwand?
Hab' mal in das Skript von maaz reingeschaut und versucht, es anzupassen, aber ich scheitere an meinen praktisch nicht vorhandenen Skriptkenntnissen.

Das "schönere" Skript auf dem vdr-board (gemeint war schon "vdr-portal.de", oder) habe ich auch nicht gefunden - nur uraltes Zeug.

Und mediatomb läßt sich auf meinem VDR nicht installieren - aber ich glaube, ich brauche ihn nicht wirklich; ein Verzeichnis zu syncen geht ja eigentlich recht einfach.

Soweit bin ich nun - über noch ein paar Tips (Skriptmodifikation oder Verweis auf dem VDR-Board) würde ich mich sehr freuen.

Mit bestem Dank,
Wolf
easyVDR-Version: 2.5.0-stable
easyVDR-Installations-DVD: easyVDR-2.0-Desktop - 32 Bit
easyPortal-Version: 0.5.31-1easyVDR0~trusty
VDR-Version: 2.0.6
Kernel-Version: 3.12.0-7-generic
media-build-experimental-Version: nicht installiert
FF-Karte, DVB-C
Pentium IV, 1700MHz, 1,5GB RAM
Zitieren
#7
Wenn mp3 nicht für Sprache taugt, frage ich mich warum Hörbücher/Hörspiele im mp3 Format sind. Ich habe einige mp3 mit "nur Sprache" und die sind alle sehr gut zu verstehen.

Der Aufwand darum, weil die TS im Vergleich zur mp3 riesig ist ( wenn von SD Sendern oder Radiosender )

Gesendet von meinem MotoG3 mit Tapatalk
Zitieren
#8
Ich würde würde mal spontan ansetzen für MP3s:

1-200 KBits für Hörspiele
2-300 KBits für Bravo-Hits
>300 KBits + auf jeden Fall variable Bitrate für ein schönes Orchester...

Wer es ganz hart treiben will nimmt halt das FLAC-Format. Aber eher weniger für Hörspiele...
Grüße
Martin
-----------------------------------------------------------------------------------------------------------
Du brauchst Hilfe? Wir brauchen Daten! English-Version: Don't eat yellow snow!
Meine VDRs (Spoiler klicken) 

Zitieren
#9
Die Frage "mp3 oder  nicht" ist für mich eher nebensächlich; ich dachte, man könnte Komplexität aus der Aufgabenstellung rauskriegen, wenn man einfach *.ts rüberkopiert. Die Dateigröße (ca. 100MB /h) finde ich jetzt nicht so schlimm.
easyVDR-Version: 2.5.0-stable
easyVDR-Installations-DVD: easyVDR-2.0-Desktop - 32 Bit
easyPortal-Version: 0.5.31-1easyVDR0~trusty
VDR-Version: 2.0.6
Kernel-Version: 3.12.0-7-generic
media-build-experimental-Version: nicht installiert
FF-Karte, DVB-C
Pentium IV, 1700MHz, 1,5GB RAM
Zitieren
#10
(30.06.2016, 13:54)herrde schrieb: Das "schönere" Skript auf dem vdr-board (gemeint war schon "vdr-portal.de", oder) habe ich auch nicht gefunden - nur uraltes Zeug.
Zugegeben, das ist schwer zu finden Smile
Ich meinte diesen Thread: VDR-Portal: Howto - DVB-S Radio verlustfrei unter Linux schneiden....für jemanden von Interesse ?
Am 21.01.2016 um 11:10 Uhr hat User umaier ein ähnliches Script geposted...
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: