You are not logged in.

#1 2013-03-16 16:02:15

kellerman
Member
From: Latvia
Registered: 2011-07-20
Posts: 101

[SOLVED]mplayer DVB-T with H264 streams (detected as MPEG2)

Hi. For a while I've been using VLC to play DVB-T. It works like a charm, but I would like to use mplayer instead as it's faster and able to use vaapi properly.
So what I've done is:
-scanning the channels for mplayer in ~/.mplayer/channels.conf with scan utility, all fine
-launching it with mplayer dvb://"TV3" for example
The channels by the way also appear fine in umplayer's TV list, but the codec should be MPEG4 AVC (h264), I assume that mplayer thinks it's MPEG2.
Here is what I get when starting mplayer with the command above:

mplayer dvb://"TV3"                                
MPlayer SVN-r35107-4.7.2 (C) 2000-2012 MPlayer Team
198 audio & 409 video codecs
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing dvb://TV3.
dvb_tune Freq: 634000000
TS file format detected.
VIDEO MPEG2(pid=5152) AUDIO MPA(pid=5153) NO SUBS (yet)!  PROGRAM N. 0

At that point it stays like this for some minutes (even 5-10)
Then:

dvb_streaming_read, attempt N. 6 failed with errno 0 when reading 1316 bytes
dvb_streaming_read, attempt N. 5 failed with errno 0 when reading 1316 bytes
dvb_streaming_read, attempt N. 4 failed with errno 0 when reading 1316 bytes
dvb_streaming_read, attempt N. 3 failed with errno 0 when reading 1316 bytes
dvb_streaming_read, attempt N. 2 failed with errno 0 when reading 1316 bytes
dvb_streaming_read, attempt N. 1 failed with errno 0 when reading 1316 bytes
dvb_streaming_read, attempt N. 6 failed with errno 0 when reading 2048 bytes
dvb_streaming_read, attempt N. 5 failed with errno 0 when reading 2048 bytes
dvb_streaming_read, attempt N. 4 failed with errno 0 when reading 2048 bytes
dvb_streaming_read, attempt N. 3 failed with errno 0 when reading 2048 bytes
dvb_streaming_read, attempt N. 2 failed with errno 0 when reading 2048 bytes
dvb_streaming_read, attempt N. 1 failed with errno 0 when reading 2048 bytes
dvb_streaming_read, return 0 bytes
TS_PARSE: COULDN'T SYNC
MPEG: FATAL: EOF while searching for sequence header.
Video: Cannot read properties.
==========================================================================
Opening audio decoder: [mpg123] MPEG 1.0/2.0/2.5 layers I, II, III
AUDIO: 48000 Hz, 2 ch, s16le, 192.0 kbit/12.50% (ratio: 24000->192000)
Selected audio codec: [mpg123] afm: mpg123 (MPEG 1.0/2.0/2.5 layers I, II, III)
==========================================================================
[AO OSS] audio_setup: Can't open audio device /dev/dsp: No such file or directory
AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)
Video: no video
Starting playback...
A:45528.1 (12:38:48.1) of -0.9 (unknown)  0.3% 


MPlayer interrupted by signal 2 in module: play_audio
A:45528.2 (12:38:48.1) of -0.9 (unknown)  0.3% 

Exiting... (Quit)

I'm using mplayer-vaapi package, but this is the same with mplayer package.
If I do a dump using mplayer, the audio plays fine, no video tho... But when I launch mplayer, there is no video window, umplayer fails to play too, but it shows that the content is buffering ...
And mplayer starts to play audio only after some minutes...
Here is my channels.conf:

LTV1:634000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:5112:5113:5110
LTV7:634000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:5122:5123:5120
LNT:634000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:5132:5133:5130
TV3:634000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_AUTO:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:5152:5153:5150

And I did use this frequency for scanning:

T 634000000 8MHz 3/4 NONE QAM64 8k 1/16 NONE

Thanks in advance! Currently i'm trying x264-git and ffmpeg-git from aur to see if this helps...
Any help would be highly appreciated, I know h264 with dvb-t in mplayer should be possible (and maybe even vaapi). I hate VLC's resource usage.. Perhaps somehow forcing the necessary codec to h264 would fix it?

Last edited by kellerman (2013-03-27 18:41:55)

Offline

#2 2013-03-20 23:06:10

kellerman
Member
From: Latvia
Registered: 2011-07-20
Posts: 101

Re: [SOLVED]mplayer DVB-T with H264 streams (detected as MPEG2)

Really no one watches H264 endoced video streams via DVB-T via mplayer?

Offline

#3 2013-03-20 23:52:27

R00KIE
Forum Moderator
From: Between a computer and a chair
Registered: 2008-09-14
Posts: 3,382

Re: [SOLVED]mplayer DVB-T with H264 streams (detected as MPEG2)

Last time I checked I also found the same problem, I've been able to watch tv with mplayer but it more cumbersome than just using vlc (I don't watch much tv).

You'll need to get dvbstream [1] and try:

'dvbstream -f $freq -o 8192 | mplayer -quiet -cache 2048 -tsprog $progid -'

where $freq is the transmitter frequency and $progid is the program id of the channel you want to watch.

[1] https://aur.archlinux.org/packages/dvbstream/


R00KIE
Tm90aGluZyB0byBzZWUgaGVyZSwgbW92ZSBhbG9uZy4K

Offline

#4 2013-03-21 16:42:52

kellerman
Member
From: Latvia
Registered: 2011-07-20
Posts: 101

Re: [SOLVED]mplayer DVB-T with H264 streams (detected as MPEG2)

Thanks for reply. I have a feeling that dvbstream could really work, but will I be able to use umplayer's gorgeous gui for watching?
I'll check dvbstream as soon as I get my dvb-t tuner handy.

Offline

#5 2013-03-21 21:16:09

R00KIE
Forum Moderator
From: Between a computer and a chair
Registered: 2008-09-14
Posts: 3,382

Re: [SOLVED]mplayer DVB-T with H264 streams (detected as MPEG2)

kellerman wrote:

... but will I be able to use umplayer's gorgeous gui for watching?

No idea, I've tested all this on the cli.


R00KIE
Tm90aGluZyB0byBzZWUgaGVyZSwgbW92ZSBhbG9uZy4K

Offline

#6 2013-03-22 14:25:13

kellerman
Member
From: Latvia
Registered: 2011-07-20
Posts: 101

Re: [SOLVED]mplayer DVB-T with H264 streams (detected as MPEG2)

Okay, haven't tested yet. Have you tried me-tv from AUR?

Offline

#7 2013-03-22 23:15:24

R00KIE
Forum Moderator
From: Between a computer and a chair
Registered: 2008-09-14
Posts: 3,382

Re: [SOLVED]mplayer DVB-T with H264 streams (detected as MPEG2)

I have tried it when it was still in the repos but it wasn't my cup of tea.


R00KIE
Tm90aGluZyB0byBzZWUgaGVyZSwgbW92ZSBhbG9uZy4K

Offline

#8 2013-03-24 15:40:50

kellerman
Member
From: Latvia
Registered: 2011-07-20
Posts: 101

Re: [SOLVED]mplayer DVB-T with H264 streams (detected as MPEG2)

Okay...

dvbstream -f 634000000 -o 8192 | mplayer -quiet -cache 2048 -tsprog 1 -
MPlayer SVN-r35107-4.7.2 (C) 2000-2012 MPlayer Team
198 audio & 409 video codecs
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing -.
Reading from stdin...
Cache fill:  0.02% (372 bytes)   

And no picture. I have to reboot to get my dvb-t stick working again. I can do

cat movie.mkv | mplayer -quiet -cache 2048 -vo vaapi -

with no problems, but

dvbstream -f 634000000 -o 8192 

seems just not to capture any video stream, because it sends just 372 bytes to mplayer command (which is some info posted below)

dvbstream v0.8 - (C) Dave Chapman 2001-2004
Additional features by Terry Hardie (C) 2009-2011
Released under the GPL.
Latest version available from http://www.orcas.net/dvbstream
Tuning to 634000000 Hz
dvbstream will stop after -1 seconds (71582788 minutes)
Setting filter for pid: 8192 Output to stdout
Streaming 1 stream

By the way I tested me-tv and it works (but there's this issue https://bbs.archlinux.org/viewtopic.php?id=158664 as well as in VLC [SOLVED] and also a lot of video tearing since it doesn't use vaapi/vdpau on my XFCE, which is a very common problem by the way). It also do the recording quite well and provides a great small server. smile

Simply doing

dvbstream -f 634000000

assuming the frequency is in kHz and opening rtp://224.0.1.2:5504:2 results in no video or audio. What am I doing wrong? I could also simply start dvbstream and the use mplayer to connect via rtp, then enable vaapi and problem would be solved! Or just play from stdin. Seems like dvbstream doesnt work at all.. It seems to hang.

edit:
When I type the frequency in MHz, then it shows this and hangs with it:

Tuner: signal carrier viterbi sync lock
Signal stength: 5242
Bit Error Rate: 762
Signal to Noise Ratio: 43405
Uncorrected Errors/Total: 0/0
Continuity Errors: 0
dvbstream v0.8 - (C) Dave Chapman 2001-2004
Additional features by Terry Hardie (C) 2009-2011
Released under the GPL.
Latest version available from http://www.orcas.net/dvbstream
Tuning to 634000 Hz

MAP 0, addr 127.0.0.1:5001 From -1 secs, To -1 secs, 1 PIDs -  1
dvbstream will stop after -1 seconds (71582788 minutes)
Setting filter for pid: 1 Streaming 1 stream

Last edited by kellerman (2013-03-24 23:00:00)

Offline

#9 2013-03-26 22:07:24

teckk
Member
Registered: 2013-02-21
Posts: 210

Re: [SOLVED]mplayer DVB-T with H264 streams (detected as MPEG2)

Can you specify the video codec to use?

mplayer -vc help | grep 264

geoh264     vfw       working   GeoCodec h264  [GX264.dll]
ffh264      ffmpeg    working   FFmpeg H.264  [h264]
ffh264vdpau ffmpeg    working   FFmpeg H.264 (VDPAU)  [h264_vdpau]
ffh264crystalhd ffmpeg    working   FFmpeg H.264 (CrystalHD)  [h264_crystalhd]
ffh264vda   ffmpeg    working   FFmpeg H.264 (VDA)  [h264_vda]
coreavcwindows dshow     working   CoreAVC H.264 for x86  [CoreAVCDecoder.ax]
vssh264     dshow     working   VSS H.264 New  [vsshdsd.dll]
vssh264old  vfw       working   VSS H.264 Old  [vssh264.dll]
mplayer -vc ffh264 dvb://TV123

Or how about

mplayer dvb://TV123 -demuxer mpegts

Mplayer will also play from a named pipe, or from the standard input, if dvbstream will stream to it.


http://en.m.wikipedia.org/wiki/DVB_T

Offline

#10 2013-03-27 17:43:57

kellerman
Member
From: Latvia
Registered: 2011-07-20
Posts: 101

Re: [SOLVED]mplayer DVB-T with H264 streams (detected as MPEG2)

Thanks for the posts
I kept messing with this and this gives a grey flickering video with no sound, the above commands or setting the -vc doesnt work:

mplayer dvb://LNT -demuxer h264es
MPlayer SVN-r35107-4.7.2 (C) 2000-2012 MPlayer Team
198 audio & 409 video codecs
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing dvb://LNT.
dvb_tune Freq: 634000000
H264-ES file format detected.
FPS seems to be: 25.000000
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
libavcodec version 54.53.100 (internal)
Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
==========================================================================
Audio: no sound
Starting playback...
Unsupported PixelFormat 61
Unsupported PixelFormat 81
Unsupported PixelFormat 61
[VD_FFMPEG] Trying pixfmt=0.
Unsupported PixelFormat 61
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
The selected video_out device is incompatible with this codec.
Try appending the scale filter to your filter list,
e.g. -vf spp,scale instead of -vf spp.
[VD_FFMPEG] Trying pixfmt=1.
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
The selected video_out device is incompatible with this codec.
Try appending the scale filter to your filter list,
e.g. -vf spp,scale instead of -vf spp.
Unsupported PixelFormat 81
[VD_FFMPEG] Trying pixfmt=2.
Unsupported PixelFormat 81
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
The selected video_out device is incompatible with this codec.
Try appending the scale filter to your filter list,
e.g. -vf spp,scale instead of -vf spp.
[VD_FFMPEG] Trying pixfmt=3.
Movie-Aspect is 1.36:1 - prescaling to correct movie aspect.
VO: [xv] 720x576 => 786x576 Planar YV12 
[h264 @ 0xf76620]top block unavailable for requested intra4x4 mode -1 at 2 0
[h264 @ 0xf76620]error while decoding MB 2 0, bytestream (2742)
[h264 @ 0xf76620]mmco: unref short failure
[h264 @ 0xf76620]mmco: unref short failure
[h264 @ 0xf76620]mmco: unref short failure
[h264 @ 0xf76620]mmco: unref short failure
[h264 @ 0xf76620]Missing reference picture
[h264 @ 0xf76620]Reference 2 >= 2
[h264 @ 0xf76620]error while decoding MB 2 1, bytestream (5054)
V:   0.0   2/  2 ??% ??% ??,?% 0 0 
[h264 @ 0xf76620]top block unavailable for requested intra4x4 mode -1 at 42 0
[h264 @ 0xf76620]error while decoding MB 42 0, bytestream (6086)
[h264 @ 0xf76620]concealing 1620 DC, 1620 AC, 1620 MV errors in B frame
[h264 @ 0xf76620]Reference 3 >= 2
[h264 @ 0xf76620]error while decoding MB 42 2, bytestream (1333)
[h264 @ 0xf76620]concealing 1537 DC, 1537 AC, 1537 MV errors in B frame
[h264 @ 0xf76620]Reference 2 >= 2
[h264 @ 0xf76620]error while decoding MB 13 10, bytestream (623)
[h264 @ 0xf76620]concealing 1206 DC, 1206 AC, 1206 MV errors in B frame
[h264 @ 0xf76620]Reference 6 >= 4
[h264 @ 0xf76620]error while decoding MB 5 0, bytestream (13249)
[h264 @ 0xf76620]mmco: unref short failure
[h264 @ 0xf76620]concealing 1620 DC, 1620 AC, 1620 MV errors in P frame
[h264 @ 0xf76620]Reference 2 >= 2
[h264 @ 0xf76620]error while decoding MB 11 2, bytestream (2754)
[h264 @ 0xf76620]concealing 1568 DC, 1568 AC, 1568 MV errors in B frame
[h264 @ 0xf76620]concealing 333 DC, 333 AC, 333 MV errors in B frame
V:   0.0   8/  8 ??% ??% ??,?% 0 0 
[h264 @ 0xf76620]Reference 2 >= 2
[h264 @ 0xf76620]error while decoding MB 8 0, bytestream (2950)
[h264 @ 0xf76620]concealing 1620 DC, 1620 AC, 1620 MV errors in B frame
V:   0.0   9/  9 ??% ??% ??,?% 0 0 
[h264 @ 0xf76620]Reference 3 >= 3

EDIT:
THANK YOU GUYS!

mplayer dvb://LNT -demuxer lavf

Works like a charm with lavf. smile
dvbstream still doesn't work, but I dont need it anymore smile
You can try lavf with that ts above, only this way that works! And when the demuxer is forced in umplayer, it works even better! Way better than in VLC.

Last edited by kellerman (2013-03-27 18:43:16)

Offline

#11 2013-03-28 14:03:58

teckk
Member
Registered: 2013-02-21
Posts: 210

Re: [SOLVED]mplayer DVB-T with H264 streams (detected as MPEG2)

Now if you want to record that to watch it later.

mplayer dvb://LNT -demuxer lavf -dumpstream -dumpfile output.ts

If you want your machine to wake up from sleep at 3am, record a show for 30 min, then go back to sleep. Put the machine to sleep the night before with something like...

#! /bin/bash

sudo rtcwake -m mem -t $(date +%s -d 'tomorrow 0300') &&
sleep 10 &&
exec mplayer dvb://LNT -demuxer lavf -dumpstream -dumpfile output.ts &
sleep 1800 && 
sudo systemctl suspend

mplayer, mencoder, ffmpeg, bash, will do just about anything that you want.

Offline

#12 2013-03-28 16:25:03

kellerman
Member
From: Latvia
Registered: 2011-07-20
Posts: 101

Re: [SOLVED]mplayer DVB-T with H264 streams (detected as MPEG2)

Wow, I didn't know about rtcwake, looks really useful!

Offline

Board footer

Powered by FluxBB