Man kann wunderbar .ts Files vom SoC encoden lassen und streamen, indem man dem Streaming-Server einfach eine ServiceRef übergibt, die den Dateinamen enthält. Diese wird dann an eServiceCenter übergeben und danach hat man per Python keinen Einfluss mehr. Das sieht dann so aus:
Code
Apr 14 11:27:45 dm820 enigma2[10949]: I/ [StreamServerControl._applyUriParameters] :: setting encoder service to 1:0:0:0:0:0:0:0:0:0:/media/hdd/movie/ib.ts
Apr 14 11:27:45 dm820 enigma2[10949]: realpath /media/hdd/movie/ib.ts.meta: No such file or directory
Apr 14 11:27:45 dm820 enigma2[10949]: realpath /media/hdd/movie/recordings.epl: No such file or directory
Apr 14 11:27:45 dm820 enigma2[10949]: I/ [StreamServerControl._startEncoderService] :: Starting encoder service [1:0:0:0:0:0:0:0:0:0:/media/hdd/movie/ib.ts]!
Apr 14 11:27:45 dm820 enigma2[10949]: realpath /media/hdd/movie/ib.ts.meta: No such file or directory
Apr 14 11:27:45 dm820 enigma2[10949]: realpath /media/hdd/movie/recordings.epl: No such file or directory
Apr 14 11:27:45 dm820 enigma2[10949]: no .meta file found, trying to find PMT pid
Apr 14 11:27:45 dm820 enigma2[10949]: PMT pid found on pid 0065, service id 101
Apr 14 11:27:45 dm820 enigma2[10949]: alloc PVR
Apr 14 11:27:45 dm820 enigma2[10949]: allocate channel.. 0000:0000:00000000 (/media/hdd/movie/ib.ts)
Apr 14 11:27:45 dm820 enigma2[10949]: allocate pvr demux
Apr 14 11:27:45 dm820 enigma2[10949]: getting program info failed.
Apr 14 11:27:45 dm820 enigma2[10949]: decoder state: play, vpid=-1, apid=-1
Apr 14 11:27:45 dm820 enigma2[10949]: loading streaminfo for /media/hdd/movie/ib.ts
Apr 14 11:27:45 dm820 enigma2[10949]: loading cuts..
Apr 14 11:27:45 dm820 enigma2[10949]: 1 entries
Apr 14 11:27:45 dm820 enigma2[10949]: PCR 15a64387c found at 6580 pid 5ff (47 05 ff 39 07 10 ad 32 1d 3e 7e)
Apr 14 11:27:45 dm820 enigma2[10949]: PCR 18c587906 found at 9215682544 pid 5ff (47 05 ff 3e 07 10 c6 2c 3c 83 7e)
Apr 14 11:27:45 dm820 enigma2[10949]: before: 1
Apr 14 11:27:45 dm820 enigma2[10949]: after: 1
Apr 14 11:27:45 dm820 enigma2[10949]: setIoPrio best-effort level 5 ok
Apr 14 11:27:45 dm820 enigma2[10949]: FILEPUSH THREAD START
usw...
Alles anzeigen
Allerdings funktioniert das nicht, wenn man statt einer Aufnahme einen Film streamen möchte, der erst noch durch gstreamer gejagt werden muss:
Code
Apr 14 11:34:31 dm820 enigma2[10949]: I/ [StreamServerControl._applyUriParameters] :: setting encoder service to 4097:0:0:0:0:0:0:0:0:0:/media/hdd/movie/v.mkv
Apr 14 11:34:31 dm820 enigma2[10949]: eServiceMP3::playbin uri=file:///media/hdd/movie/v.mkv
Apr 14 11:34:31 dm820 enigma2[10949]: I/ [StreamServerControl._onSourceStateChanged] :: state=True
Apr 14 11:34:31 dm820 enigma2[10949]: I/ [StreamServerControl._startEncoderService] :: ignore request to play already running background streaming service (4097:0:0:0:0:0:0:0:0:0:/media/hdd/movie/v.mkv)
Apr 14 11:34:31 dm820 enigma2[10949]: I/ [StreamServerControl._onRtspClientCountChanged] :: 1 /
Apr 14 11:34:32 dm820 dreamliveserver[12111]: AACFramedSource::readEncoderDataBackground() : Encoder Timeout
Apr 14 11:34:32 dm820 dreamliveserver[12111]: AACFramedSource::readEncoderDataBackground() : Encoder Timeout
Apr 14 11:34:33 dm820 dreamliveserver[12111]: AACFramedSource::readEncoderDataBackground() : Encoder Timeout
Apr 14 11:34:33 dm820 dreamliveserver[12111]: AACFramedSource::readEncoderDataBackground() : Encoder Timeout
Apr 14 11:34:34 dm820 dreamliveserver[12111]: AACFramedSource::readEncoderDataBackground() : Encoder Timeout
Apr 14 11:34:34 dm820 dreamliveserver[12111]: AACFramedSource::readEncoderDataBackground() : Encoder Timeout
Apr 14 11:34:35 dm820 dreamliveserver[12111]: AACFramedSource::readEncoderDataBackground() : Encoder Timeout
usw...
Alles anzeigen
Es wäre klasse, wenn das auch funktionieren würde. Vielen Dank!