You are not logged in.
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
Really no one watches H264 endoced video streams via DVB-T via mplayer?
Offline
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.
R00KIE
Tm90aGluZyB0byBzZWUgaGVyZSwgbW92ZSBhbG9uZy4K
Offline
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
... 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
Okay, haven't tested yet. Have you tried me-tv from AUR?
Offline
I have tried it when it was still in the repos but it wasn't my cup of tea.
R00KIE
Tm90aGluZyB0byBzZWUgaGVyZSwgbW92ZSBhbG9uZy4K
Offline
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.
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
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.
Offline
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.
dvbstream still doesn't work, but I dont need it anymore
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
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
Wow, I didn't know about rtcwake, looks really useful!
Offline