
Lubuntu 14.04.3 LTS를 실행하고 다운로드하여 설치했습니다.캐스트노우내 PC에서 Chromecast로 비디오를 스트리밍합니다.
내가 아는 유일한 대안은 Chromium을 사용하여 Videostream을 통해 이 작업을 수행하는 것입니다. 그러나 그것은 너무 많은 리소스를 사용하므로 내 불쌍한 오래된 노트북은 거의 감당할 수 없습니다.
Castnow가 정말 잘 작동한다는 것을 알았습니다. 하지만 이는 명령줄 도구이므로 시작하려면 터미널 창으로 이동하여 다음을 실행해야 합니다.
castnow --address [ip address chromecast] --myip [localip] [path to video]
pcmanfm
이 방법은 작동하지만 파일 관리자( )를 사용하여 비디오를 탐색하고 비디오를 열 수 있다면 훨씬 더 쉬울 것입니다 .
선택한 파일을 입력 매개변수(%f)로 사용하여 위 명령을 실행하는 스크립트 파일을 만들려고 했지만 처참하게 실패했습니다...
그리고 나의 친애하는 친구 Google은 지금까지 나를 도와주지 못했습니다. 누구든지 이 작업을 완료하도록 도와줄 수 있나요?
10월 16일 업데이트:
거의 다 했어요!
가장 많은 시간이 걸린 것은 pcmanfm에서 쉘 스크립트를 실행하지 않는 버그를 찾는 것이었습니다. 다음 문서에서는 이에 대해 잘 설명하고 해결 방법을 제공합니다.https://bugs.launchpad.net/ubuntu/+source/lubuntu-default-settings/+bug/975152
스크립트를 실행하고 파일을 매개변수로 전달하는 .desktop 파일을 만들었습니다. 이는 메뉴에 옵션으로 나타나며, 이렇게 하면 pcmanfm에서도 선택할 수 있습니다.
스크립트는 파일 이름을 매개변수로 사용하고 모든 매개변수와 함께 Castnow를 실행합니다. 불행히도 작동하지 않습니다.
내가 만든 스크립트는 다음과 같습니다.
filename=$1
filename=${filename:7:$((${#filename}-7))}
filename=${filename//%20/\\ }
echo castnow --address 192.168.0.21 --myip 192.168.0.47 $filename
castnow --address 192.168.0.21 --myip 192.168.0.47 $filename
결과는 다음과 같습니다.
castnow --address 192.168.0.21 --myip 192.168.0.47 /home/joost/Videos/American\ Horror\ Story\ Season\ 1\ Complete\ 480p\ BZINGAZ/american.horror.story.s01e11.720p.hdtv.x264-compulsion.mkv
Error: Load failed
그리고 명령을 다른 터미널 창에 복사하면 작동합니다. 어떻게 이럴 수있어? 그리고 어떻게 해결할 수 있습니까?
또 다른 업데이트:
문제는 경로의 공백과 관련된 것 같습니다. 데스크탑 파일은 %u 매개변수를 사용하여 bash 스크립트에 대한 경로를 보냅니다. 그리고 폴더에 공백이 있으므로 %20으로 변환됩니다. 스크립트에서는 이를 다시 "\"로 변환합니다. 공백이 없는 파일로 내 내용을 테스트하면 작동합니다(!!!).
하지만 공간은 삶의 일부입니다. 이 문제를 해결하는 방법은 무엇입니까?
그리고 또 다른 업데이트:
내가 해냈어! 약간의 속임수가 있지만 작동합니다. 파일 시스템의 모든 공백을 밑줄로 바꾸기 위해 스크립트에 몇 줄을 추가했습니다.
#!/bin/bash
# replace all spaces by underscores in the Videos-folders and -files:
find /home/joost/Videos/ -name "* *" -type d | rename 's/ /_/g' # do the directories first
find /home/joost/Videos/ -name "* *" -type f | rename 's/ /_/g'
filename=$1
# remove file:// from the file-variable:
filename=${filename:7:$((${#filename}-7))}
# new films may contain spaces in the path. They have been replace by underscores. This also needs to happen in the parameter:
filename=${filename//%20/_}
# now we are ready to go:
castnow --address 192.168.0.21 --myip 192.168.0.47 $filename
read
효과가 있고 만족스럽습니다. 하지만 누군가가 그 공간을 돌아다니는 방법을 알고 있다면 기꺼이 알게 될 것입니다.
10월 18일 업데이트:
공백(및 기타 특수 문자)을 탐색하는 방법을 알아냈습니다. 우선 매개변수를 urldecode하는 방법을 알아냈습니다. 그러나 공백(및 기타 특수 문자)을 피하는 방법은 명령문에 'eval'을 추가하는 것입니다. 이제 내 스크립트의 마지막 문은 다음과 같습니다. eval Castnow --address 192.168.0.21 --myip 192.168.0.47 $filename
그래서 그게 다입니다. 남은 문제는 Castnow가 AVI 파일을 재생할 수 없는 것 같다는 것입니다. 이에 대한 문제를 github에 만들었습니다.
답변1
관련 파일 형식에 사용할 기본 응용 프로그램을 설정할 수 있습니다. 비디오 파일을 마우스 오른쪽 버튼으로 클릭하고 "속성"을 선택한 다음 "연결 프로그램" 선택을 변경하고 확인을 누릅니다.