link89 / dlna-cast

A cross-platform command-line tool that casts screen and media file to remote DLNA device.
GNU General Public License v3.0
28 stars 1 forks source link

Add quotation marks to the path #5

Closed MageDelfador closed 2 months ago

link89 commented 2 months ago

Thank you for your MR. What's the case requires quote? Besides, how about using shlex.quote instead of string concat?

MageDelfador commented 2 months ago

I have the following problem after running it, and it works fine after adding quotation marks. Tested shlex.quote and it works.

details ``` PS D:\> dlna-cast screen --dlna_device "。。。的电视" HTTP: start to serving at port 50638 run command: ffmpeg.exe -framerate 30 -f dshow -i video="screen-capture-recorder":audio="virtual-audio-capturer" -c:v libx264 -preset fast -tune zerolatency -crf 21 -vf format=yuv420p -keyint_min:v 1 -force_key_frames:v "expr:gte(t,n_forced*2)" -f hls -hls_time 2 -hls_list_size 10 -hls_flags delete_segments C:\Users\zhen\dlna-cast\index.m3u8 ffmpeg version 2022-12-08-git-9ca139b2aa-full_build-www.gyan.dev Copyright (c) 2000-2022 the FFmpeg developers built with gcc 12.1.0 (Rev2, Built by MSYS2 project) configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libvpl --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint libavutil 57. 43.100 / 57. 43.100 libavcodec 59. 54.100 / 59. 54.100 libavformat 59. 34.102 / 59. 34.102 libavdevice 59. 8.101 / 59. 8.101 libavfilter 8. 51.100 / 8. 51.100 libswscale 6. 8.112 / 6. 8.112 libswresample 4. 9.100 / 4. 9.100 libpostproc 56. 7.100 / 56. 7.100 Guessed Channel Layout for Input Stream #0.1 : stereo Input #0, dshow, from 'video=screen-capture-recorder:audio=virtual-audio-capturer': Duration: N/A, start: 728203.668000, bitrate: 1536 kb/s Stream #0:0: Video: rawvideo, bgr0, 1920x1080, 30 fps, 30 tbr, 10000k tbn Stream #0:1: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s Stream mapping: Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264)) Stream #0:1 -> #0:1 (pcm_s16le (native) -> aac (native)) Press [q] to stop, [?] for help [libx264 @ 000001c9c7aa5780] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 [libx264 @ 000001c9c7aa5780] profile High, level 4.0, 4:2:0, 8-bit [libx264 @ 000001c9c7aa5780] 264 - core 164 r3101 b093bbe - H.264/MPEG-4 AVC codec - Copyleft 2003-2022 - http://www.videolan.org/x264.html - options: cabac=1 ref=2 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=6 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=8 lookahead_threads=8 sliced_threads=1 slices=8 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=1 keyint=250 keyint_min=1 scenecut=40 intra_refresh=0 rc=crf mbtree=0 crf=21.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00 Output #0, hls, to 'C:Userszhendlna-castindex.m3u8': Metadata: encoder : Lavf59.34.102 Stream #0:0: Video: h264, yuv420p(tv, progressive), 1920x1080, q=2-31, 30 fps, 90k tbn Metadata: encoder : Lavc59.54.100 libx264 Side data: cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp, 128 kb/s Metadata: encoder : Lavc59.54.100 aac [hls @ 000001c9c7aa2600] Opening 'C:Userszhendlna-castindex0.ts' for writing0 speed=1.02x [hls @ 000001c9c7aa2600] Failed to open file 'C:Userszhendlna-castindex0.ts' av_interleaved_write_frame(): Permission denied Error muxing a packet for output file #0 [hls @ 000001c9c7aa2600] Opening 'C:Userszhendlna-castindex0.ts' for writing [hls @ 000001c9c7aa2600] Failed to open file 'C:Userszhendlna-castindex0.ts' [hls @ 000001c9c7aa2600] Opening 'C:Userszhendlna-castindex.m3u8.tmp' for writing frame= 65 fps= 31 q=18.0 Lsize=N/A time=00:00:02.16 bitrate=N/A dup=1 drop=0 speed=1.02x video:564kB audio:32kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown [libx264 @ 000001c9c7aa5780] frame I:2 Avg QP:12.73 size:221517 [libx264 @ 000001c9c7aa5780] frame P:64 Avg QP:16.54 size: 2100 [libx264 @ 000001c9c7aa5780] mb I I16..4: 41.8% 21.8% 36.4% [libx264 @ 000001c9c7aa5780] mb P I16..4: 0.1% 0.0% 0.2% P16..4: 1.6% 0.1% 0.1% 0.0% 0.0% skip:98.0% [libx264 @ 000001c9c7aa5780] 8x8 transform intra:21.1% inter:40.5% [libx264 @ 000001c9c7aa5780] coded y,uvDC,uvAC intra: 27.6% 16.7% 15.2% inter: 0.5% 0.5% 0.1% [libx264 @ 000001c9c7aa5780] i16 v,h,dc,p: 57% 42% 1% 0% [libx264 @ 000001c9c7aa5780] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 75% 6% 17% 0% 0% 0% 0% 0% 1% [libx264 @ 000001c9c7aa5780] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 41% 29% 16% 2% 2% 2% 3% 2% 3% [libx264 @ 000001c9c7aa5780] i8c dc,h,v,p: 80% 14% 6% 1% [libx264 @ 000001c9c7aa5780] Weighted P-Frames: Y:0.0% UV:0.0% [libx264 @ 000001c9c7aa5780] ref P L0: 86.6% 13.4% [libx264 @ 000001c9c7aa5780] kb/s:2099.66 [aac @ 000001c9c7aa7340] Qavg: 184.669 Received stop event after 217 passes Conversion failed! ```