Opened 13 years ago
Closed 5 years ago
#10868 closed Bug Report - Crash (Won't Fix)
Nuvexport is failing on an uninitialised value error
Reported by: | Owned by: | beirdo | |
---|---|---|---|
Priority: | minor | Milestone: | unknown |
Component: | Apps - Nuvexport | Version: | 0.25-fixes |
Severity: | low | Keywords: | |
Cc: | Ticket locked: | no |
Description
Running Nuvexport .25 fixes on a Linux Mint 13 Mate 64 bit server.
Installed Nuvexport from the .25 fixes branch.
While trying to process any files getting the following error.
Use of uninitialized value $info{"video_type"} in string eq at /usr/share/perl5/MythTV/Recording.pm line 327, <STDIN> line 2. Stream type 'lavfpref' is not an mpeg, and will not work with this program.
Cleaning up temp files.
I'm not a perl coder but looking at the code it looked to me like it could be the output produced by mplayer as in the appropriate line it outputs MPG2 not MPEG2
[lavf] stream 2: audio (mp3), -aid 1, -alang eng ID_SUBTITLE_ID=0 ID_SID_0_LANG=eng [lavf] stream 3: subtitle (dvbsub), -sid 0, -slang eng LAVF: Program 1 PROGRAM_ID=1 LAVF: 2 audio and 1 video streams found LAVF: build 3478528 VIDEO: [MPG2] 704x576 0bpp 25.000 fps 15000.0 kbps (1831.1 kbyte/s) [V] filefmt:42 fourcc:0x3247504D size:704x576 fps:25.000 ftime:=0.0400 Load subtitles in /mnt/mythfifofum/
Whereas the perl code at that line is looking for MPEG[12]
# First, we check for the existence of an mpeg info program
my $program = find_program('mplayer');
# Nothing found? Die
die "You need mplayer to use this script on mpeg-based files.\n\n" unless ($program);
# Grab the info we want from mplayer (go uber-verbose to override --really-quiet)
my $idargs = "-v -v -v -v -nolirc -nojoystick -vo null -ao null -frames 0 -identify"; my $data =
$program $idargs '$file' 2>/dev/null
; study $data; ($info{'video_type'}) = $data =~ m/VIDEO:?\s*(MPEG[12]|H264)/m; ($info{'width'}) = $data =~ m/ID_VIDEO_WIDTH=0*([1-9]\d*)/m; ($info{'height'}) = $data =~ m/ID_VIDEO_HEIGHT=0*([1-9]\d*)/m; ($info{'fps'}) = $data =~ m/ID_VIDEO_FPS=0*([1-9]\d*(?:\.\d+)?)/m; ($info{'audio_sample_rate'}) = $data =~ m/ID_AUDIO_RATE=0*([1-9]\d*)/m; ($info{'audio_bitrate'}) = $data =~ m/ID_AUDIO_BITRATE=0*([1-9]\d*)/m; ($info{'audio_bits_per_sample'}) = $data =~ m/AUDIO:.+?ch,\s*[su](8|16)/mi; ($info{'audio_channels'}) = $data =~ m/ID_AUDIO_NCH=0*([1-9]\d*)/m;
So I modified the script to look for MPG2 rather then MPEG[12] and still get the same error.
Attachments (1)
Change History (8)
comment:1 Changed 13 years ago by
Priority: | blocker → minor |
---|---|
Severity: | high → low |
comment:2 Changed 13 years ago by
I had read the Howto.
If you're referring to running debug mode it adds nothing to the information above but I include it here for completeness.
$ nuvexport --mencoder --debug
Loading MythTV recording info. 62%
Using mencoder for exporting. What would you like to do?
- Export to XviD (using mencoder)
- Export to H.264/MP3 (using mencoder)
- Export to H.264/AAC (using mencoder)
- Export to .nuv and .sql
- Quit
Choose a function: 1
You have recorded the following shows:
- BBC News at Ten (2 episodes)
- Carry On Henry (1 episode)
- Come Dine with Me (10 episodes)
- Jerry Springer (1 episode)
- Line of Duty (1 episode)
- Make Bradford British (1 episode)
- Pokerstars (1 episode)
- Taken (2 episodes)
- The Front Line (1 episode)
- The Killing (1 episode)
- The Thick of It (1 episode)
- Quit
Choose a show: 3
Use of uninitialized value $info{"video_type"} in string eq at /usr/share/perl5/MythTV/Recording.pm line 327, <STDIN> line 2. Stream type 'lavfpref' is not an mpeg, and will not work with this program.
Cleaning up temp files.
It matters not whether I run using mencoder or native mode, nor does it matter which program I pick to transcode as they all generate the same error.
comment:3 Changed 13 years ago by
Owner: | changed from xris to beirdo |
---|---|
Status: | new → assigned |
Changed 13 years ago by
Attachment: | mplayerident1004_20120723172700.mpg.txt added |
---|
manual mplayer ident output
comment:4 Changed 13 years ago by
I have attached a Manual mplayer output report for one of my files.
As can be seen on line 203 of the uplaoded file the line begins
Video: .......
This seems to be what the perl script Recording.pm is expecting on line 314
Where at that point the perl script seems to be trying to analyse that nature of the input file.
However the perl script seems to be looking for the phrase "MPEG[12] | H264" so either MPEG or H264 whereas Mplayer now outputs MPG2 so missing the E.
I'm not a perl scripter but I tried to modify this line to account for this change and the error still exists.
Ideas or suggestions welcome
comment:6 Changed 9 years ago by
Just encountered this error, four years later. Switching from mplayer2 to mplayer seems to have solved it.
comment:7 Changed 5 years ago by
Resolution: | → Won't Fix |
---|---|
Status: | assigned → closed |
Closing old tickets.
Please read the TicketHowTo before creating tickets.