Page 1 of 2
Stream to Android without FLV?

Posted:
Mon Mar 12, 2012 5:28 am
by stefanlasiewski
I am trying to stream video from my Subsonic server to one of several Android phones. I have tried to stream several different .mpg & .mp4 videos to my phone. On each phone, the video presents itself as a FLV file, but I do not have a FLV player on these device. The Subsonic Android app opens a browser window, and the window says "Get Flash Player" and I cannot play the video.
Can I configure Subsonic to stream these videos in a format different from FLV? Is there a preferred video format for streaming to an Android device, besides FLV?
-= Stefan
Re: Stream to Android without FLV?

Posted:
Tue Mar 13, 2012 4:34 am
by GJ51
Just edit the Android player for the phone so that it does not transcode the file type you want to view directly on the phone.
I do this with mp4 files on the desktop because JW Player can play them directly.
You can break out the mp4 transcoding seperately and set it up to not be used by default. Then you can check each player that you want transcoding to be used on.
Re: Stream to Android without FLV?

Posted:
Tue Mar 13, 2012 10:29 pm
by stefanlasiewski
Thank you, I will try that.
You mention "JW Player". Are you referring to
http://www.longtailvideo.com/support/jw ... r-flash-v5 , or are you referring to a piece of Subsonic? I just want to make sure I understand what you are talking about.
I appreciate the help.
-= Stefan
Re: Stream to Android without FLV?

Posted:
Wed Mar 14, 2012 12:04 am
by GJ51
I disable mp4 transcoding for playback on the desktop, which allows SS to just pass the mp4 directly to the embedded JW Player.
Likewise, you can turn off any transcoding settings for any player, including the Android Player. I have not experimented with using alternate players for Android, but you can certainly set up Subsonic so that it doesn't transcode a file before passing it to the Android Player.
Re: Stream to Android without FLV?

Posted:
Thu Apr 26, 2012 4:30 am
by stefanlasiewski
GJ51 wrote:I disable mp4 transcoding for playback on the desktop, which allows SS to just pass the mp4 directly to the embedded JW Player.
So I tried this, and on a Desktop I can use the embedded JW Player, but that still requires Adobe Flash. On Android, I am simply presented with a link to download Adobe Flash, and Adobe doesn't support Flash on Android Gingerbread phones.
-= Stefan
Re: Stream to Android without FLV?

Posted:
Mon Jul 09, 2012 11:17 pm
by spqrbc753
Did you ever find a solution for this? I am in the same boat....very frustrating
Re: Stream to Android without FLV?

Posted:
Mon Nov 19, 2012 7:32 pm
by mbc0
Same here... It is not transcoding but still takes me to the web page...
Re: Stream to Android without FLV?

Posted:
Mon Nov 19, 2012 8:52 pm
by GJ51
Yes video on Android is a major headache with Jelly Bean. There were work arounds that I had installed successfully before, but they are not taking on the current rom that I am using. If you can't install Flash, it's not going to work. I've tried using external player settings trying to get untranscoded mp4 to pass to the default video player, but so far haven't had any success.
I would love to see this fixed as well as Flash is obviously being shunned by Apple and Android. We certainly could use a better option here.
Re: Stream to Android without FLV?

Posted:
Mon Nov 19, 2012 9:25 pm
by mbc0
+1 Urgently... only thing stopping me (and probably others) from purchasing...
Re: Stream to Android without FLV?

Posted:
Fri Nov 23, 2012 8:18 am
by Muffler
HLS works kind of if you change videoPlayer.view to hls.view in the URL, but audio cuts out after about 10 seconds and I can't find a way to change bitrate (changing in the URL doesn't seem to have any effect). It's not usefull in this state but maybe someone with the knowledge can take a look at the transcode string for HLS and see if there is something wrong there.
Mine looks like:
- Code: Select all
ffmpeg -ss %o -t %d -i %s -async 1 -b %bk -s %wx%h -ar 44100 -ac 2 -v 0 -f mpegts -vcodec libx264 -preset superfast -acodec libmp3lame -threads 0 -
This is tested on Samsung Galaxy S3 with official Jelly Bean.
EDIT: Log from a testrun with hls.view and MX Player. Audio stopped after exactly 10 seconds but i can't see that in the log...
- Code: Select all
[11/23/12 9:25:46 AM CET] INFO PlayQueueInputStream Thekay listening to "Bored to Death Season 1/Bored.to.Death.S01E01.720p.HDTV.X264-DIMENSION.mkv"
[11/23/12 9:25:46 AM CET] DEBUG TranscodeInputStream Starting transcoder: [/var/subsonic/transcode/ffmpeg] [-ss] [30] [-t] [10] [-i] [/media/2tb/Video/TV/Bored to death/Bored to Death Season 1/Bored.to.Death.S01E01.720p.HDTV.X264-DIMENSION.mkv] [-async] [1] [-b] [1000k] [-s] [320x240] [-ar] [44100] [-ac] [2] [-v] [0] [-f] [mpegts] [-vcodec] [libx264] [-preset] [superfast] [-acodec] [libmp3lame] [-threads] [0] [-]
[11/23/12 9:25:46 AM CET] DEBUG InputStreamReaderThread (/var/subsonic/transcode/ffmpeg) ffmpeg version N-31780-gd5d74cf, Copyright (c) 2000-2011 the FFmpeg developers
[11/23/12 9:25:46 AM CET] DEBUG InputStreamReaderThread (/var/subsonic/transcode/ffmpeg) built on Aug 9 2011 14:18:27 with gcc 4.5.2
[11/23/12 9:25:46 AM CET] DEBUG InputStreamReaderThread (/var/subsonic/transcode/ffmpeg) configuration: --disable-ffplay --disable-ffprobe --disable-ffserver --enable-gpl --enable-nonfree --enable-postproc --enable-pthreads --enable-libfaac --enable-libmp3lame --enable-libvpx --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-zlib --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvpx --enable-version3 --enable-bzlib --enable-static --disable-shared --extra-libs=-static --extra-cflags=--static
[11/23/12 9:25:46 AM CET] DEBUG InputStreamReaderThread (/var/subsonic/transcode/ffmpeg) libavutil 51. 11. 1 / 51. 11. 1
[11/23/12 9:25:46 AM CET] DEBUG InputStreamReaderThread (/var/subsonic/transcode/ffmpeg) libavcodec 53. 9. 1 / 53. 9. 1
[11/23/12 9:25:46 AM CET] DEBUG InputStreamReaderThread (/var/subsonic/transcode/ffmpeg) libavformat 53. 6. 0 / 53. 6. 0
[11/23/12 9:25:46 AM CET] DEBUG InputStreamReaderThread (/var/subsonic/transcode/ffmpeg) libavdevice 53. 2. 0 / 53. 2. 0
[11/23/12 9:25:46 AM CET] DEBUG InputStreamReaderThread (/var/subsonic/transcode/ffmpeg) libavfilter 2. 28. 1 / 2. 28. 1
[11/23/12 9:25:46 AM CET] DEBUG InputStreamReaderThread (/var/subsonic/transcode/ffmpeg) libswscale 2. 0. 0 / 2. 0. 0
[11/23/12 9:25:46 AM CET] DEBUG InputStreamReaderThread (/var/subsonic/transcode/ffmpeg) libpostproc 51. 2. 0 / 51. 2. 0
[11/23/12 9:25:46 AM CET] DEBUG InputStreamReaderThread (/var/subsonic/transcode/ffmpeg) [matroska,webm @ 0xaff4a20] Estimating duration from bitrate, this may be inaccurate
[11/23/12 9:25:46 AM CET] DEBUG InputStreamReaderThread (/var/subsonic/transcode/ffmpeg) Input #0, matroska,webm, from '/media/2tb/Video/TV/Bored to death/Bored to Death Season 1/Bored.to.Death.S01E01.720p.HDTV.X264-DIMENSION.mkv':
[11/23/12 9:25:46 AM CET] DEBUG InputStreamReaderThread (/var/subsonic/transcode/ffmpeg) Duration: 00:29:51.39, start: 0.000000, bitrate: 384 kb/s
[11/23/12 9:25:46 AM CET] DEBUG InputStreamReaderThread (/var/subsonic/transcode/ffmpeg) Stream #0.0(eng): Video: h264 (High), yuv420p, 1280x720, SAR 1:1 DAR 16:9, 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
[11/23/12 9:25:46 AM CET] DEBUG InputStreamReaderThread (/var/subsonic/transcode/ffmpeg) Stream #0.1: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s (default)
[11/23/12 9:25:46 AM CET] DEBUG InputStreamReaderThread (/var/subsonic/transcode/ffmpeg) [buffer @ 0xb1aabc0] w:1280 h:720 pixfmt:yuv420p tb:1/1000000 sar:1/1 sws_param:
[11/23/12 9:25:46 AM CET] DEBUG InputStreamReaderThread (/var/subsonic/transcode/ffmpeg) [scale @ 0xb1a9720] w:1280 h:720 fmt:yuv420p -> w:320 h:240 fmt:yuv420p flags:0x4
[11/23/12 9:25:46 AM CET] DEBUG InputStreamReaderThread (/var/subsonic/transcode/ffmpeg) [libx264 @ 0xaff4540] using SAR=1/1
[11/23/12 9:25:46 AM CET] DEBUG InputStreamReaderThread (/var/subsonic/transcode/ffmpeg) [libx264 @ 0xaff4540] using cpu capabilities: MMX2 SSE2Slow SlowCTZ
[11/23/12 9:25:46 AM CET] DEBUG InputStreamReaderThread (/var/subsonic/transcode/ffmpeg) [libx264 @ 0xaff4540] profile High, level 2.0
[11/23/12 9:25:46 AM CET] DEBUG InputStreamReaderThread (/var/subsonic/transcode/ffmpeg) [mpegts @ 0xb1aace0] muxrate VBR, pcr every 2 pkts, sdt every 200, pat/pmt every 40 pkts
[11/23/12 9:25:46 AM CET] DEBUG InputStreamReaderThread (/var/subsonic/transcode/ffmpeg) Output #0, mpegts, to 'pipe:':
[11/23/12 9:25:46 AM CET] DEBUG InputStreamReaderThread (/var/subsonic/transcode/ffmpeg) Metadata:
[11/23/12 9:25:46 AM CET] DEBUG InputStreamReaderThread (/var/subsonic/transcode/ffmpeg) encoder : Lavf53.6.0
[11/23/12 9:25:46 AM CET] DEBUG InputStreamReaderThread (/var/subsonic/transcode/ffmpeg) Stream #0.0(eng): Video: libx264, yuv420p, 320x240 [SAR 1:1 DAR 4:3], q=2-31, 1000 kb/s, 90k tbn, 23.98 tbc (default)
[11/23/12 9:25:46 AM CET] DEBUG InputStreamReaderThread (/var/subsonic/transcode/ffmpeg) Stream #0.1: Audio: libmp3lame, 44100 Hz, 2 channels, s16, 64 kb/s (default)
[11/23/12 9:25:46 AM CET] DEBUG InputStreamReaderThread (/var/subsonic/transcode/ffmpeg) Stream mapping:
[11/23/12 9:25:46 AM CET] DEBUG InputStreamReaderThread (/var/subsonic/transcode/ffmpeg) Stream #0.0 -> #0.0
[11/23/12 9:25:46 AM CET] DEBUG InputStreamReaderThread (/var/subsonic/transcode/ffmpeg) Stream #0.1 -> #0.1
[11/23/12 9:25:46 AM CET] DEBUG InputStreamReaderThread (/var/subsonic/transcode/ffmpeg) Press [q] to stop, [?] for help
[11/23/12 9:25:46 AM CET] DEBUG InputStreamReaderThread (/var/subsonic/transcode/ffmpeg) Input stream #0.1 frame changed from rate:48000 fmt:s16 ch:6 to rate:48000 fmt:s16 ch:2
Re: Stream to Android without FLV?

Posted:
Fri Nov 23, 2012 5:13 pm
by daneren2005
How do you change the default video transcoding to something else than flv?
Re: Stream to Android without FLV?

Posted:
Fri Nov 23, 2012 7:58 pm
by GJ51
daneren2005 wrote:How do you change the default video transcoding to something else than flv?
Looks like he inserted -f mpegts for -f flv in the transcode string and transcoding audio to mp3 with lame.
Original Subsonic:
ffmpeg -ss %o -i %s -async 30 -b %bk -r 23-.976 -s %wx%h -ar 44100 -ac 2 -v 0 -f flv -vcodec libx264 -preset fast -
threads 0 -
Muffler's string:
ffmpeg -ss %o -t %d -i %s -async 1 -b %bk -s %wx%h -ar 44100 -ac 2 -v 0 -f mpegts -vcodec libx264 -preset superfast -acodec libmp3lame -threads 0 -
Re: Stream to Android without FLV?

Posted:
Sat Nov 24, 2012 9:54 am
by Muffler
GJ51 wrote:daneren2005 wrote:How do you change the default video transcoding to something else than flv?
Looks like he inserted -f mpegts for -f flv in the transcode string and transcoding audio to mp3 with lame.
Original Subsonic:
ffmpeg -ss %o -i %s -async 30 -b %bk -r 23-.976 -s %wx%h -ar 44100 -ac 2 -v 0 -f flv -vcodec libx264 -preset fast -
threads 0 -
Muffler's string:
ffmpeg -ss %o -t %d -i %s -async 1 -b %bk -s %wx%h -ar 44100 -ac 2 -v 0 -f mpegts -vcodec libx264 -preset superfast -acodec libmp3lame -threads 0 -
My string is the standard one for HTTP Live Streaming under Settings > Transcoding. Can't find anything wrong with it though, so the audio cutting out is weird.
Re: Stream to Android without FLV?

Posted:
Sat Nov 24, 2012 3:42 pm
by daneren2005
Well I was actually asking how you change the default transcoding at all but I see now there is an option under players to set it. I am messing with downloading + playing videos with an external player but I can't even find a decent flv player to test whether or not it works.
Re: Stream to Android without FLV?

Posted:
Sat Nov 24, 2012 5:24 pm
by GJ51
daneren2005 wrote:Well I was actually asking how you change the default transcoding at all but I see now there is an option under players to set it. I am messing with downloading + playing videos with an external player but I can't even find a decent flv player to test whether or not it works.
That's part of the frustration. Everytime I think I ought to be able to find a workaround I get stumped. Flash won't install on my SIII so the embedded player won't work, I've tried setting the Android Player for the phone to use an external player thinking that it would use the phones default player, but it doesn't call any player on the phone.
I once had Flash installed on a Jelly Bean rom, but subsequent attempts with my current rom are not installing.