Opened 3 years ago

Closed 21 months ago

#12954 closed Bug Report - General (Won't Fix)

Fix for #12479 broke recording from USBTV encoder

Reported by: Andy Harvey <Andy@…> Owned by: JYA
Priority: minor Milestone: 0.28.2
Component: MythTV - General Version: 0.28.0
Severity: high Keywords:
Cc: Ticket locked: no

Description

I upgraded my Fedora Mythtv box from 0.28-8.fc23.x86_64 to 0.28-10.fc23.x86_64. After the upgrade recording from my USBTV encoder produces a corrupted recording. Further investigation shows that the problem is caused by changeset f513db754 in #12479. I have rebuilt the RPM with just the changes to NuppelVideoRecorder?.cpp backed out and replaced the library on my system and can now successfully record. I haven't sufficient knowledge to figure a full solution. Let me know if there's any further info needed to fix.

Attachments (5)

56378_20161210144058.nuv (895.6 KB) - added by Andy Harvey <Andy@…> 3 years ago.
Corrupted version of recording
mythbackend.20161210144033.19938.log (16.2 KB) - added by Andy Harvey <Andy@…> 3 years ago.
Log from faulty recording
t.patch (4.8 KB) - added by JYA 3 years ago.
partial revert
mythtv_FixAlignemnt.patch (578 bytes) - added by Joel Snape <joel.snape@…> 3 years ago.
Solution for the problem changing the init method default
mythtv_FixAlignemnt_call.patch (690 bytes) - added by Joel Snape <joel.snape@…> 3 years ago.
Another solution for the problem changing the init method call

Download all attachments as: .zip

Change History (23)

comment:1 Changed 3 years ago by JYA

Please attach a copy of a broken nuv recording

Is your USB TV an analog tuner?

If not, why are you still using the very old, and very obsolete nuppel container? It's utter crap and compress almost nothing

Changed 3 years ago by Andy Harvey <Andy@…>

Attachment: 56378_20161210144058.nuv added

Corrupted version of recording

comment:2 Changed 3 years ago by JYA

Which profile are you using for encoding? Any chance you could provide the log showing how the recording is made? Is this the result of a transcoding or straight recording?

Changed 3 years ago by Andy Harvey <Andy@…>

Log from faulty recording

comment:3 Changed 3 years ago by Andy Harvey <Andy@…>

Log now attached. I have noticed that the reason the recording is so short is that a segment fault occurred. This does not happen on every recording. It is a straight recording, using what I believe is the LiveTV profile 720x576, MPEG-4 codec.

Changed 3 years ago by JYA

Attachment: t.patch added

partial revert

comment:4 Changed 3 years ago by JYA

does this partial reversal works for you?

to apply go into the mythtv directory (where configure is located) and type: patch -p2 < t.patch

That will break transcoding, and isn't a proper fix, but I'm simply attempting to narrow the changes to determine how to fix it as I can't reproduce it here.

Thank you

comment:5 Changed 3 years ago by JYA

Status: newinfoneeded_new

comment:6 Changed 3 years ago by Andy Harvey <Andy@…>

Thanks for that. I have reverted my system to the previous version at the moment. Hopefully I'll test as soon as I can. May be a day or two.

comment:7 Changed 3 years ago by JYA

How is your card configured in mythtv-setup? what format does it output.

in any case, if you don't have time to test, neither do I for fixing it I'm afraid

comment:8 Changed 3 years ago by JYA

and what card is it

comment:9 Changed 3 years ago by JYA

Can you do a dump of the /dev/video0 say 50MB and post that somewhere?

But still need to know how it's configured in your system

All my attempt here to use analog video has worked just fine

comment:10 Changed 3 years ago by Andy Harvey <Andy@…>

The fix you supplied works. Thanks for your great support. I'll leave my system running with that fix to check stability.

The card is a 'Fushicai usbtv007'. See https://linuxtv.org/wiki/index.php/Easycap#USBTV007_EasyCAP

I have put the output from dd if=/dev/video0 of=video0.raw to Dropbox here: https://www.dropbox.com/sh/hk93sxabn643q7i/AAAQRBtzWnYVT2uIGENfJnZKa?dl=0 This is not playable via mplayer.

There is also the output from 'mplayer -v tv://' which has some more info. This plays the video fine.

The mythtv setup is as follows:

Capture Card Setup

Card type: Analog capture card
Video device:/dev/video
Probed info: usbtv [usbtv]
VBI device:
Audio device:ALSA:hw:CARD=usbtv
Force audio sampling rate:48000

Record Profiles->Software Encoders(v4l based)->Default->Video Compression

Width:720 Height:576
Codec:MPEG-4
Bitrate:2200
Maximum quality:2
Minimum quality:15
Max quality difference between frames:3
Scale bit rate for frame size:enabled
Enable high-quality encodeing:enabled
Enable 4MV encoding:enabled
Number of threads:2
Record Profiles->Software Encoders(v4l based)->Default->Audio Quality
Codec:MP3
Sampling rate:48000
MP3 quality:7
Volume:90%

Live TV is the same as default. The input used is the composite.

Let me know if there's more you need.

comment:11 Changed 3 years ago by JYA

The patch isn't a fix. It's a bare reversal on a single commit on the nuppel recorder. I'll try to simulate your setup and see if I can reproduce it.

I'll probably add some logs for you to test to show me which code path is entered. From there I'll be able to see exactly what's wrong if I can't reproduce it myself.

Thanks very much for your help

comment:12 Changed 3 years ago by JYA

could you please paste here the output of the command:

$ v4l2-ctl --all

comment:13 Changed 3 years ago by Stuart Auchterlonie

Milestone: 0.28.1

comment:14 Changed 3 years ago by Andy Harvey <andy@…>

root@mythtv # v4l2-ctl --all                                                                10:48am
Driver Info (not using libv4l2):
        Driver name   : usbtv
        Card type     : usbtv
        Bus info      : usb-0000:00:14.0-4
        Driver version: 4.8.12
        Capabilities  : 0x85200001
                Video Capture
                Read/Write
                Streaming
                Extended Pix Format
                Device Capabilities
        Device Caps   : 0x05200001
                Video Capture
                Read/Write
                Streaming
                Extended Pix Format
Priority: 2
Video input : 0 (Composite: ok)
Video Standard = 0x000000ff
        PAL-B/B1/G/H/I/D/D1/K
Format Video Capture:
        Width/Height      : 720/576
        Pixel Format      : 'YUYV'
        Field             : Interlaced
        Bytes per Line    : 1440
        Size Image        : 829440
        Colorspace        : SMPTE 170M
        Transfer Function : Default
        YCbCr Encoding    : Default
        Quantization      : Default
        Flags             : 
Streaming Parameters Video Capture:
        Frames per second: 25.000 (25/1)
        Read buffers     : 2

comment:15 Changed 3 years ago by joel.snape@…

I was going to create a ticket because I have a similar problem with commit f513db7 (I use analog tv). I created a pull request on github with a fix for this (https://github.com/MythTV/mythtv/pull/126), as stated in the pull request, the solution is using alignment 0 for the frame creation. In the pull request and attached patch, I changed the init alignment default from 64 to 0 but another solution would be to call the init method in NuppelVideoRecorder?.cpp with alignment 0.

Changed 3 years ago by Joel Snape <joel.snape@…>

Attachment: mythtv_FixAlignemnt.patch added

Solution for the problem changing the init method default

Changed 3 years ago by Joel Snape <joel.snape@…>

Another solution for the problem changing the init method call

comment:16 Changed 3 years ago by Stuart Auchterlonie

Owner: set to JYA

comment:17 Changed 3 years ago by Stuart Auchterlonie

Milestone: 0.28.10.28.2

Moving remaining open 0.28.1 tickets to 0.28.2

comment:18 Changed 21 months ago by Stuart Auchterlonie

Resolution: Won't Fix
Status: infoneeded_newclosed

Closing any remaining tickets for 0.28, if the issue persists, feel free to reopen and align to v29 or master

Note: See TracTickets for help on using tickets.