craiig / HOTDOGSEAGULL

Browse your locally stored media using a browser and push it up to a chromecast.
Apache License 2.0
62 stars 12 forks source link

File names with apostrophes fail to load #3

Closed parkerlreed closed 10 years ago

parkerlreed commented 10 years ago

Tried on three files with apostrophes and all fail to load.

"init success" "receiver found" "New session ID:CEC0B81E-771B-042C-4E01-516A77090175" "Found 1 existing media sessions." "new media session ID:4 (onRequestSessionSuccess_)" "Session stopped" "session success: 25333233-AACE-5DE7-B5A5-2C18EE01551F" "loading..." "media error: code: session_error description: LOAD_FAILED details: null"

Compatibility guess: Should work. Container compatible: yes Video compatible: yes Audio compatible: yes

Full Compatibility Debugging Data: { audio: 1, video: 1, container: 1, ffprobe_data: { filename: '[a-s]_demon_kingdaimao-10-_akuto\'s_great_capital_warrs2_[1080p_bd-rip][50A4A69C].mkv', filepath: '/mnt/torrents/Demon.King.Daimao.S01.1080p.BluRay.x264-AnimeSupreme', fileext: '.mkv', file: '/mnt/torrents/Demon.King.Daimao.S01.1080p.BluRay.x264-AnimeSupreme/[a-s]_demon_kingdaimao-10-_akuto\'s_great_capital_warrs2_[1080p_bd-rip][50A4A69C].mkv', probe_time: 476, streams: [ { codec_name: 'h264', codec_long_name: 'H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10', profile: 'High', codec_type: 'video', codec_time_base: '1001/48000', codec_tag_string: '[0][0][0][0]', codec_tag: '0x0000', width: 1920, height: 1080, has_b_frames: 2, sample_aspect_ratio: '1:1', display_aspect_ratio: '16:9', pix_fmt: 'yuv420p', level: 50, timecode: 'N/A', id: 'N/A', r_frame_rate: '24000/1001', avg_frame_rate: '24000/1001', time_base: '1/1000', start_pts: 0, start_time: 0, duration_ts: 'N/A', duration: 'N/A', bit_rate: 'N/A', nb_frames: 'N/A', nb_read_frames: 'N/A', nb_read_packets: 'N/A', 'DISPOSITION:default': 1, 'DISPOSITION:dub': 0, 'DISPOSITION:original': 0, 'DISPOSITION:comment': 0, 'DISPOSITION:lyrics': 0, 'DISPOSITION:karaoke': 0, 'DISPOSITION:forced': 0, 'DISPOSITION:hearing_impaired': 0, 'DISPOSITION:visual_impaired': 0, 'DISPOSITION:clean_effects': 0, 'DISPOSITION:attached_pic': 0, 'TAG:language': 'jpn', 'TAG:title': 'AVC-HD' }, { codec_name: 'aac', codec_long_name: 'AAC (Advanced Audio Coding)', profile: 'unknown', codec_type: 'audio', codec_time_base: '1/48000', codec_tag_string: '[0][0][0][0]', codec_tag: '0x0000', sample_fmt: 'fltp', sample_rate: 48000, channels: 2, channel_layout: 'stereo', bits_per_sample: 0, id: 'N/A', r_frame_rate: '0/0', avg_frame_rate: '0/0', time_base: '1/1000', start_pts: 0, start_time: 0, duration_ts: 'N/A', duration: 'N/A', bit_rate: 'N/A', nb_frames: 'N/A', nb_read_frames: 'N/A', nb_read_packets: 'N/A', 'DISPOSITION:default': 1, 'DISPOSITION:dub': 0, 'DISPOSITION:original': 0, 'DISPOSITION:comment': 0, 'DISPOSITION:lyrics': 0, 'DISPOSITION:karaoke': 0, 'DISPOSITION:forced': 0, 'DISPOSITION:hearing_impaired': 0, 'DISPOSITION:visual_impaired': 0, 'DISPOSITION:clean_effects': 0, 'DISPOSITION:attached_pic': 0, 'TAG:language': 'eng', 'TAG:title': 'AAC' }, { codec_name: 'aac', codec_long_name: 'AAC (Advanced Audio Coding)', profile: 'unknown', codec_type: 'audio', codec_time_base: '1/48000', codec_tag_string: '[0][0][0][0]', codec_tag: '0x0000', sample_fmt: 'fltp', sample_rate: 48000, channels: 2, channel_layout: 'stereo', bits_per_sample: 0, id: 'N/A', r_frame_rate: '0/0', avg_frame_rate: '0/0', time_base: '1/1000', start_pts: 0, start_time: 0, duration_ts: 'N/A', duration: 'N/A', bit_rate: 'N/A', nb_frames: 'N/A', nb_read_frames: 'N/A', nb_read_packets: 'N/A', 'DISPOSITION:default': 0, 'DISPOSITION:dub': 0, 'DISPOSITION:original': 0, 'DISPOSITION:comment': 0, 'DISPOSITION:lyrics': 0, 'DISPOSITION:karaoke': 0, 'DISPOSITION:forced': 0, 'DISPOSITION:hearing_impaired': 0, 'DISPOSITION:visual_impaired': 0, 'DISPOSITION:clean_effects': 0, 'DISPOSITION:attached_pic': 0, 'TAG:language': 'jpn', 'TAG:title': 'AAC' }, { codec_name: 'ssa', codec_long_name: 'SSA (SubStation Alpha) subtitle', profile: 'unknown', codec_type: 'subtitle', codec_time_base: '1/1000', codec_tag_string: '[0][0][0][0]', codec_tag: '0x0000', width: 'N/A', height: 'N/A', id: 'N/A', r_frame_rate: '0/0', avg_frame_rate: '0/0', time_base: '1/1000', start_pts: 0, start_time: 0, duration_ts: 'N/A', duration: 'N/A', bit_rate: 'N/A', nb_frames: 'N/A', nb_read_frames: 'N/A', nb_read_packets: 'N/A', 'DISPOSITION:default': 1, 'DISPOSITION:dub': 0, 'DISPOSITION:original': 0, 'DISPOSITION:comment': 0, 'DISPOSITION:lyrics': 0, 'DISPOSITION:karaoke': 0, 'DISPOSITION:forced': 0, 'DISPOSITION:hearing_impaired': 0, 'DISPOSITION:visual_impaired': 0, 'DISPOSITION:clean_effects': 0, 'DISPOSITION:attached_pic': 0, 'TAG:language': 'eng', 'TAG:title': 'ASS' }, { codec_name: 'ssa', codec_long_name: 'SSA (SubStation Alpha) subtitle', profile: 'unknown', codec_type: 'subtitle', codec_time_base: '1/1000', codec_tag_string: '[0][0][0][0]', codec_tag: '0x0000', width: 'N/A', height: 'N/A', id: 'N/A', r_frame_rate: '0/0', avg_frame_rate: '0/0', time_base: '1/1000', start_pts: 0, start_time: 0, duration_ts: 'N/A', duration: 'N/A', bit_rate: 'N/A', nb_frames: 'N/A', nb_read_frames: 'N/A', nb_read_packets: 'N/A', 'DISPOSITION:default': 0, 'DISPOSITION:dub': 0, 'DISPOSITION:original': 0, 'DISPOSITION:comment': 0, 'DISPOSITION:lyrics': 0, 'DISPOSITION:karaoke': 0, 'DISPOSITION:forced': 0, 'DISPOSITION:hearing_impaired': 0, 'DISPOSITION:visual_impaired': 0, 'DISPOSITION:clean_effects': 0, 'DISPOSITION:attached_pic': 0, 'TAG:language': 'jpn', 'TAG:title': 'ASS' }, { codec_name: 'unknown', codec_long_name: 'unknown', profile: 'unknown', codec_type: 'attachment', codec_time_base: '0/1', codec_tag_string: '[0][0][0][0]', codec_tag: '0x0000', id: 'N/A', r_frame_rate: '0/0', avg_frame_rate: '0/0', time_base: '1/90000', start_pts: 0, start_time: 0, duration_ts: 128083230, duration: 1423.147, bit_rate: 'N/A', nb_frames: 'N/A', nb_read_frames: 'N/A', nb_read_packets: 'N/A', 'DISPOSITION:default': 0, 'DISPOSITION:dub': 0, 'DISPOSITION:original': 0, 'DISPOSITION:comment': 0, 'DISPOSITION:lyrics': 0, 'DISPOSITION:karaoke': 0, 'DISPOSITION:forced': 0, 'DISPOSITION:hearing_impaired': 0, 'DISPOSITION:visual_impaired': 0, 'DISPOSITION:clean_effects': 0, 'DISPOSITION:attached_pic': 0, 'TAG:filename': 'BAARS___.TTF', 'TAG:mimetype': 'application/x-truetype-font' } ], format: { nb_streams: 6, nb_programs: 0, format_name: 'matroska,webm', format_long_name: 'Matroska / WebM', start_time: 0, duration: 1423.147, size: 802095361, bit_rate: 4508854, probe_score: 100 }, metadata: { creation_time: '2011-07-03 23:32:32' } } }

craiig commented 10 years ago

Lol, ouch. I am doomed to be always be fixing bugs with apostrophes. I'll rename some files and fix the issues!

craiig commented 10 years ago

Pushed a fix! Let me know if they work for you now!

craiig commented 10 years ago

BTW when you pull you're gonna need to get one more node package (fluent-ffmpeg) since I added transcode support.

parkerlreed commented 10 years ago

Ya dont say!

pi@raspberrypi ~/build/HOTDOGSEAGULL $ node server.js

module.js:340 throw err; ^ Error: Cannot find module 'fluent-ffmpeg' at Function.Module._resolveFilename (module.js:338:15) at Function.Module._load (module.js:280:25) at Module.require (module.js:364:17) at require (module.js:380:17) at Object. (/home/pi/build/HOTDOGSEAGULL/server.js:8:14) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Function.Module.runMain (module.js:497:10)

On Tue, Feb 11, 2014 at 1:14 AM, craiig notifications@github.com wrote:

BTW when you pull you're gonna need to get one more node package (fluent-ffmpeg) since I added transcode support.

Reply to this email directly or view it on GitHubhttps://github.com/craiig/HOTDOGSEAGULL/issues/3#issuecomment-34728961 .

craiig commented 10 years ago

You should be able to just run 'npm install' now that I added a package.json :) New to node best practices so it's taking me a bit to figure out the best way to do stuff!

parkerlreed commented 10 years ago

Success! Another bug squashed. Now I have request...

A flag/setting that basically says "I don't give a fuck about compatibility just load the directory"

The check is nice but makes directory loading unnecessarily long if you know what you have already works.

Bonus points for naming the flag that :P

craiig commented 10 years ago

Cool! Yeah, now that I've added the transcoding, there isn't much sense in doing a directory wide check at all, because you can play basically every file. I'll remove the check soon!

parkerlreed commented 10 years ago

Thanks. Also check your reddit inbox :)

On Tue, Feb 11, 2014 at 1:37 AM, craiig notifications@github.com wrote:

Cool! Yeah, now that I've added the transcoding, there isn't much sense in doing a directory wide check at all, because you can play basically every file. I'll remove the check soon!

Reply to this email directly or view it on GitHubhttps://github.com/craiig/HOTDOGSEAGULL/issues/3#issuecomment-34729808 .